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

نمایش بازدید مطالب وردپرس به کمک افزونه‌های مختلفی قابل انجام است اما اگر تمایل به استفاده از پلاگین‌ها ندارید و یا توسعه دهنده قالب هستید، در ادامه با ما همراه باشید تا به سادگی این امکان را با چند قطعه کد به قالب خود اضافه کنید.

 

دریافت و ذخیره سازی بازدید مطالب

در ابتدا باید تابعی تعریف کنیم که مقدار بازدید هر پست را دریافت و ذخیره سازی کند.

پس کد زیر را به فایل functions.php قالب خود اضافه کنید:

 

function wintheme_set_post_views($postID) {
    $count_key = 'wintheme_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);
    }
}
//To keep the count accurate, lets get rid of prefetching
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

حالا باید صدا کردن تابع در فایل single.php ، مقدار بازدید هر پست را به آن پاس بدهیم.

برای این کار، کد زیر را در Loop مطالب خود در فایل single.php اضافه کنید (برای مثال، بالای عنوان پست):

wintheme_set_post_views(get_the_ID());

اگر از Child Theme استفاده می‌کنید و یا می‌خواهید کار را برای خودتان آسان‌تر کنید، برای ست کردن بازدید هر پست می‌توانید از طریق هوک wp_head این کار را انجام دهید.

پس قطعه کد زیر را به functions.php اضافه کنید:

function wintheme_track_post_views ($post_id) {
    if ( !is_single() ) return;
    if ( empty ( $post_id) ) {
        global $post;
        $post_id = $post->ID;    
    }
    wintheme_set_post_views($post_id);
}
add_action( 'wp_head', 'wintheme_track_post_views');

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

نکته: اگر از افزونه‌های کش استفاده می‌کنید، این تکنیک در حالت پیش‌فرض کار نخواهد کرد. در پلاگین W3 Total Cache قابلیتی به نام Fragmented Caching وجود دارد که با استفاده از آن و تغییر کد بالا به صورت زیر، مشکل رفع می‌شود:

<!-- mfunc wintheme_set_post_views($post_id); --><!-- /mfunc -->

کار ذخیره سازی بازدید هر پست تمام است! حالا می‌توانید کارهای مختلفی نظیر نمایش بازدید مطالب و مرتب سازی پست‌ها بر اساس بازدید را انجام دهید.

نمایش بازدید هر پست

اگر قصد نمایش بازدید هر پست در ادامه مطلب یا سایر صفحات سایت خود دارید، ابتدا باید تابع زیر را به functions.php اضافه کنید:

function wintheme_get_post_views($postID){
    $count_key = 'wintheme_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 "0 View";
    }
    return $count.' Views';
}

حالا با فراخوانی تابع در حلقه مطالب، می‌توانید بازدید هر پست را نمایش دهید.

برای این کار، کد زیر را در Loop مطالب خود قرار دهید (برای مثال، زیر عنوان پست):

wintheme_get_post_views(get_the_ID());

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

اگر مایل به نمایش مطالب سایت خود بر اساس بازدید هستید، به راحتی می‌توانید با استفاده از کلاس wp_query این کار را انجام دهید.

متدوال‌ترین مثال، نمایش پربازدیدترین مطالب سایت است که با قرار دادن کد زیر در محل نمایش مورد نظر (مثلا سایدبار)، قابل انجام است:

<ul>
<?php 
$popularpost = new WP_Query( array( 'posts_per_page' => 4, 'meta_key' => 'wintheme_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC'  ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();
?>
   <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile;
?>
</ul>

امیدواریم که از این آموزش لذت برده باشید.

مطالب مرتبط

معرفی بهترین هاست های رایگان

معرفی بهترین هاست های رایگان

محبوبیت هاست رایگان در سال‌های اخیر بسیار افزایش‌ یافته است و دلیل آن نیز بسیار ساده است. همه ما چیزهای رایگان را دوست داریم و تا کلمه‌‌ی رایگان به گوشمان می‌خورد نمی‌توانیم جلوی خودمان را بگیریم. این طبیعت انسان است و دقیقا با توجه به همین غریزه ده‌ها شرکت پدیدار شده‌اند تا روی این غریزه […]

نمایش پست قبلی و بعدی همراه با تصویر در وردپرس

نمایش پست قبلی و بعدی همراه با تصویر در وردپرس

در این مقاله از مجموعه آموزش های رایگان وردپرس قصد داریم به شما نحوه قرار دادن نوشته قبلی و بعدی همراه با تصویر در صفحات داخلی وردپرس را آموزش دهیم. این قابلیت می تواند سبب ماندگاری بازدیدکنندگان در سایت شما شود. در ادامه این آموزش با ما همراه باشید. آموزش قرار دادن پست قبلی و […]

طراحی و ساخت سایت موزیک

طراحی و ساخت سایت موزیک

طراحی سایت موزیک و طراحی سایت موسیقی برای موسیقی دان ها و هنرمندان مشغول به کار در زمینه هنر موسیقی، می تواند یکی از بهترین راه ها برای ارتباط با مخاطبان و معرفی هنرمندان در فضای مجازی می باشد.   یک هنرمند با  طراحی سایت موزیک، خیلی ساده و راحت می تواند از طریق اینترنت به […]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

محصولات ویژه