تعداد بازدید از مطالب بدون افزونه
استفاده نکردن از افزونه، نقش بسزایی در افزایش سرعت سایت دارد. یکی از مهم ترین مسائلی که می توان براحتی بجای افزونه از کد استفاده کرد، تعداد بازدید هر مطلب می باشد. کدی که امروز قصد معرفی آن را داریم، کدی کاملا کاربردی است و هیچ کم و کاستی نسبت به افزونه ها ندارد. نکته قابل توجه این است که هنگام تعویض قالب تعداد بازدید مطالب باقی می ماند. کد بصورت زیر می باشد:
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 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 قالبتان قرار دهید . در یک سایت خواندم که اگر کد زیر را نیز اضافه کنیم معضل افزودن بازدید اضافی حل می شود! من که معضلی مشاهده نکردم!
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
جهت نمایش تعداد بازدید از کد زیر استفاده کنید (به عنوان مثال در صفحه اصلی یا ادامه مطلب) :
echo getPostViews(get_the_ID());
همچنین جهت ثبت بازدید از کد زیر استفاده کنید (فقط در ادامه مطلب) :
setPostViews(get_the_ID());
در پایان اگر دوست دارید در مدیریت ، قسمت همه نوشته ها تعداد بازدید از مطالب نمایش داده شود از کد زیر نیز استفاده کنید :
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()); } }
2 thoughts on “تعداد بازدید از مطالب بدون افزونه”
سلام
مطلب خیلی عالی بود مرسی؛ ولی یک سوال آیا این کدها را میشود برای نمایش تعداد بازدید از “برگه” هم استفاده کرد یا فقط برای نوشته ها امکان پذیر است؟
با سلام
برای برگه نیز می توان استفاده کرد و هیچ مشکلی ندارد
فقط برای اینکه تعداد بازدید از برگه ها را در مدیریت نیز نمایش دهد از کد زیر نیز استفاده کنید :