Thống Kê Lượt Xem Bài Viết WordPress Không Dùng Plugin

Thống Kê Lượt Xem Bài Viết WordPress Không Dùng Plugin

Nhiều bạn phát triển blog, website rất muốn có chức năng thống kê lượt xem từng bài viết để đánh giá hiệu quả từng bài. Và trên WordPress rất dễ dàng làm được điều đó.

Hiện tại, WordPress có rất nhiều plugin để có được chức năng thống kê này. Post Views Counter, WP-PostViews, Simple Post Views Counter,…và còn rất nhiều plugin khác. Bạn chỉ cần lên Google, hoặc WordPress.org gõ từ khóa “post view” là ra cả rổ.

Nhưng 1 chức năng đơn giản như vậy mà dùng đến plugin thì hơi tốn tài nguyên, khiến website của bạn bị nặng. Hôm nay, tôi xin chia sẻ cho các bạn từng bước tạo chức năng thống kê lượt xem bài viết WordPress không dùng plugin

Thống kê lượt xem bài viết không dùng plugin

Các bước tạo chức năng thống kê lượt xem bài viết WordPress

Bước 1: Tính lượt truy cập khi khách vào xem bài viết

Đầu tiên bạn vào file functions.php của theme bạn đang sử dụng và bỏ vào cuối file đoạn code sau:

//Hàm đếm lượt truy cập khi khách vào xem bài viết
function ah_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);
    }
}

Tiếp theo, bạn vào file single.php, và bỏ code sau ở trong vòng lặp while

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

Ví dụ: File single.php có nội dung như sau:

<?php 
get_header();
?>
<div class="content">

<?php 
if (have_posts()):
while (have_posts()):
the_post();
?>
<?php ah_setPostViews(get_the_ID()); ?>
<h1><?php the_title(); ?></h1>
the_content();
<?php
endwhile;
endif;
?>
<?php
get_sidebar();
?>
</div><!--End .content-->
<?php
get_footer();
?>

Bước 2: Hiển thị lượt xem bài viết

Đầu tiên, bạn vào file functions.php và thêm đoạn code sau vào cuối file:

//Hàm hiển thị lượt xem bài viết

function ah_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 "0 View";
    }
    return $count.' Views';
}

Tiếp theo, bạn vào file single.php và chèn đoạn code sau tại nơi bạn muốn hiển thị:

<?php echo ah_getPostViews(get_the_ID()); ?>

PS: Nếu bạn muốn hiển thị trong category thì bạn có thể chèn vào file category.php hoặc archive.php

Bước 3: Chèn cột hiển thị lượt xem từng bài trong WP-Admin

Bạn mở file functions.php và chèn vào cuối file code sau:

// Add it to a column in WP-Admin
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'] = __('Views');
    return $defaults;
}
function posts_custom_column_views($column_name, $id){
	if($column_name === 'post_views'){
        echo getPostViews(get_the_ID());
    }
}

Bạn có thể bỏ qua bước này nếu bạn không cần chèn thêm cột vào WP-Admin

Kết Luận

Trên đây là hướng dẫn của tôi về cách thêm chức năng thống kê lượt xem bài viết không cần dùng Plugin.

Chúc các bạn thành công!

[Total: 3   Average: 4.7/5]

Hoàng An

Tôi không phải là 1 chuyên gia lập trình, cũng không phải là 1 chuyên gia SEO. Với niềm đam mê với CNTT, tôi có thể biến ý tưởng thành sản phẩm và thích chia sẻ kiến thức cho người khác. Nếu có duyên, mời bạn đến với khoá học của tôi