سالاد مخصوص پربازدیدترین مطالب وردپرس با سس فرانسوی

سلام به کاربران وردپرس پارسی ..

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

اولین کاری که باید انجام بدید ساخت توابع ( فانکشن) است که تعداد بازدیدها از یک نوشته را محاسبه کرده و آن ها را به عنوان یک زمینه دلخواه یا همان Custom Field ذخیره می کند. برای  انجام این کار، کد زیر را در فایل functions.php پوسته قالب کپی کنید:

function wpb_set_post_views($postID) {
    $count_key = 'wpb_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);

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

wpb_set_post_views(get_the_ID());

در صورتی که از پوسته فرزند (Child Theme) استفاده می کنید یا حتی برای راحتی کار خودتان، می بایست فراخوانی این فانکشن را می بایست به دلیل خاصی در هدر استفاده کنید، می بایست کد زیر را در فایل functions.php پوسته اضافه کنید:

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

پس از انجام این کار، پس از هر بار که کاربر از پست دیدن می کند، custom field نیز آپدیت می شود.

حالا شما هر چیزی که برای انجام کارهایی از جمله نمایش تعداد بازدیدهای یک نوشته و یا قرار دادن نوشته ها بر اساس تعداد بازدیدها لازم است را در اختیار دارید. در ادامه چگونگی انجام این اعمال را به شما نشان خواهیم داد.

اگر می خواهید که تعداد بازدیدهای  یک نوشته (که معمولا جایی نزدیک به قسمتی است که تعداد دیدگاه را نشان می دهد) را نمایش دهید، اولین کاری که باید به انجام برسانید این است که کد زیر را در فایل functions.php پوسته وارد کنید:

function wpb_get_post_views($postID){
    $count_key = 'wpb_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';
}

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

wpb_get_post_views(get_the_ID());

به عنوان سس فرانسوی ، اگر هم مایل هستید نوشته ها را براساس تعداد بازدیدها مرتب کنید، می توانید به راحتی با استفاده از پارامتر wp_query post_meta به هدف خود برسید. پایه ای ترین مثالی که می توان از یک لوپ کوئری زد، به شکل زیر خواهد بود:

<?php
$popularpost = new WP_Query( array( 'posts_per_page' => 4, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'wpb_post_views_count', 'order' => 'DESC'  ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();

the_title();

endwhile;
?>

بدون افزونه =زندگی راحت تر ..امیدودارم خوشتون اومده باشه

موفق باشید

تیم آقای وردپرس

تیم تولید محتوا و پشتیبانی سایت آقای وردپرس

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