آمار بازدید از مطالب بدون پلاگین

چند وقتی بود کد وردپرس معرفی نکرده بودم و دیدم چند تا از کاربرا کد نمایش بازدید رو خواسته بودند تا از شر افزونه اش راحت بشوند (البته بنده به شخصه شری ندیدم اما انگار میگن مکل ایجاد میکنه ) .خب به هرحال امروز با سه حرکت ما این کد رو توی وبمون پیاده میکنیم … پس مثل همیشه با ما باشید …

ابتدا کد زیر را به functions.php خود بیفزائید (لطفا قبلش یه بک آپ از فانکشن خود بگیرید ):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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);
    }
}
?>

خب ما دستور رو اضافه کردیم حالا در single.php و … که میخواهید تعداد بازدید نمایش داده شود کد زیر را قرار دهید :

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

توجه کنید که حتما کد بالا را در داخل حلقه مطلب قرار دهید .

خب کار ما به پایان رسید … به همین سادگی به همین جذابی !!!

اما یه کار اضافی هست که اگر بخواهید توی wp-admin بازدید مطالب خود را ببینید میتوانید کد زیر را به functions.php خود بیفزائید و بازدید مطالب خود را از قسمت “نوشته / همه نوشته ها” ببینید :

1
2
3
4
5
6
7
8
9
10
11
12
13
<?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());
    }
}
 ?>

 

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

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