رفتن به مطلب

مشکل جدی در پربازدیدترین مطالب


پست های پیشنهاد شده

سلام من کل نت رو زیر و رو کردم در مورد اینکه چطور میشه در سایدباز یا ابزارک 10 پستی که بیشترین بازدید دارن رو وارد کنیم موفق نشدم

و همچنین یه مشکل دیگه

====================================================================================

البته میدونیم که یه کدی هست محبوب ترین مطالب رو نشون میده یعنی چه قدر نظر دادن تو اون پست و اونا محبوب شدن که نباید اشتباه گرفته شه با نوشته بالا که کدش اینه


<?php echo popularPosts(10); ?>

خوب این کد بالا محبوب ترین مطالب رو نشون میده که کدشو تو سایدبار و فانکشن قرار دادم و این مورد رو دارم استفاده می کنم موردی نداره هست درست کار می کنه

====================================================================================

حالا می دونیم افزونه post view هست که نصب می کنی و میگه کد زیر در index باید وجود داشته باشه


<?php while (have_posts()) : the_post(); ?>

و شما بیا کد زیر رو در Index قرار بده تا کار کنه


<?php if(function_exists('the_views')) { the_views(); } ?>

که این کد و افزونه روی قسمت پست یا همون content قرار داده میشه و کار می کنه و آمار هر پست رو نشون میده که اینم برام کار نمی کنه یعنی هر بازدید رو 0 نشون میده که منو مجبور به استفاده از این کد پایین که نوشتم کرده

حالا من مجبوری اومدم برای قسمت centent این کد هم تو index قرار دادم که بازدید از هر پست رو نشون بده که اینم خراب کار می کنه یعنی با هر باز رفرش سایت یه دونه بازدید به پست اضافه می کنه در حالی که هنوز کسی اون پست رو باز نکرده و اگه کاربر پست رو هم باز کنه یه بازدید هم اونجا اضافه میشه ، این یه مشکل در مورد بازدید پست در content که عکسشم اپلود کردم بدونید کدوم قسمت منظورمه


<?php setPostViews(get_the_ID()); ?><?php echo getPostViews(get_the_ID()); ?>

d8diqt3rjd1ggibohkeh.jpg

====================================================================================

مشکل دوم هم همین کدی هست که تو ساید بار 10 پست پربازدید رو نشون بده یعنی مثلا 1000 تا بازدید کردن از یه پستی ، دومی 800 تا بازدید و ... که 10 تا پست بازدید رو زیر هم بیاره که این کد رو هنوز پیدا نکردم که بیاد تو سایدبار

lpqiuj56dwwwcnnlgg8.jpg

فکر کنم واضح توضیح دادم

ممنون می شم کمک کنید در این دو مورد :wub:

ویرایش شده توسط H @ M e D
لینک به ارسال

خوب کد این بخشی که میگم بازدید رو هر بار رفرش می کنیم سایت رو یکی بازدید به هر پستی اضافه می کنه رو قرار دادم ببینید مشکلی داره یا نه

کدی که براش تو ایندکس قرار دادم


<?php setPostViews(get_the_ID()); ?><?php echo getPostViews(get_the_ID()); ?>

که اینم بخوام اگه این کد رو بزارم تو برخی سایت ها گذاشتن قرار بدم اصلا بازدید حساب نمیکنه


echo getPostViews(get_the_ID());

کدی تو functions قرار دادم


<?php
function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "بدون بازدید";
}
return $count.' بازدید';
}

// function to count views.
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
?>

این هم کدی که در مدیریت پنل تعداد بازدید هارو ببینم مربوط به همین کد بالا در functions


<?php
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
$defaults['post_views'] = __('بازدید');
return $defaults;
}
function posts_custom_column_views($column_name, $id){
if($column_name === 'post_views'){
echo getPostViews(get_the_ID());
}
}
?>

ویرایش شده توسط H @ M e D
لینک به ارسال

ممنون پارسا جان

با این کد 10 پست پربازدید اوکی شدمشکل دوم


<?php
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10');
if (have_posts()) : while (have_posts()) : the_post();
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile; endif;
wp_reset_query();
?>

الان مشکل فقط این کد بازدید هر پست هست که هر بار سایت رفرش میشه یه بازدید اضافه میشه این رو نمیشه کاری کرد؟

یعنی مثلا page 1 سایت لود میشه توسط من هر 10 پستش یه بازدید اضافه میشه و بری از فهرست یه عنوانی رو باز کنی باز مطالب اونا هم یه بازدید اضافه میشه ، حالا اگه خوده پست رو باز کنی هم یه بازدید حساب میشه

اساسش اینه فقط پست رو باز کنی یه دونه بازدید حساب شه

ویرایش شده توسط H @ M e D
لینک به ارسال

شما نباید در حلقه پست در بخش آرشیو توابع بازدید رو قرار بدید. از اونجا حذف کنید و فقط در فایل single قرار بدید

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...