نمایش تعداد بازدید از مطالب بدون نیاز به افزونه وردپرس

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

نمایش تعداد بازدید از مطالب بدون نیاز به افزونه وردپرس

نمایش تعداد بازدید از مطالب بدون نیاز به افزونه وردپرس

ابتدا به سراغ تابع قالب خود رفته و کدهای زیر را در آن قرار دهید.


function set_post_views( $postID )
{
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
// delete old 'post_views_count' value.
delete_post_meta( $postID, $count_key );
// add new 'post_views_count' value.
add_post_meta( $postID, $count_key, '0' );
} else {
$count++;
// update old 'post_views_count' value.
update_post_meta( $postID, $count_key, $count );
}
}

function get_post_views( $postID )
{
$count_key = 'post_views_count';
$count = get_post_meta( $postID, $count_key, true );
if($count=='') {
// delete old 'post_views_count' value.
delete_post_meta( $postID, $count_key );
// add new 'post_views_count' value.
add_post_meta( $postID, $count_key, '0' );

return "0 بازدید";
}

return $count.' بازدید';
}

توضیحات کد بالا:

در کد های بالا به روشی ساده آی دی پست ها دریافت شده و تعداد بازدید آنها ثبت میگردد و با استفاده از تابع get_post_views تعداد بازدید ها چاپ میشود.

پس از تعریف توابع توسط کد بالا به سراغ فراخوانی توابع میرویم.

برای فراخوانی تابع set_post_views به فایل single.php رفته و کد زیر را درون حلقه while قرار می دهیم:


<?php set_post_views (get_the_ID()); ?>

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

<?php echo get_post_views (get_the_ID()); ?>
5/5 - (1 امتیاز)
3 نظرات
  1. پژمان می گوید

    سلام
    چرا در بعضی از نوشته ها عمل میکنه ولی در برخی دیگه فقط 0 بازدید رو میزنه ؟!

  2. محمدرضا می گوید

    با سلام؛
    آیا این روش بر روی قالب های ووکامرس هم جوابگو هست یا خیر ؟
    با تشکر

    1. عباس صادقی می گوید

      سلام، بله فرقی نداره و جواب میده!
      موفق باشید :)

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.