WordPress mặc định không có bộ đếm số lượt xem bài viết. Nếu bạn muốn hiển thị số lần xem của mỗi bài viết thì đọc bài hướng dẫn sau đây.
Demo các bạn có thể thấy ngay tại BienThuy.com. Mỗi bài viết đều có số lượt xem bên dưới ảnh đại diện.
Thực ra thì có khá nhiều các plugin làm được điều này, nhưng nếu các bạn không muốn dùng Plugin thì có thể làm theo hướng dẫn của Biên Thùy như bên dưới, rất đơn giản và không cần cài Plugin nào cả.
Đầu tiên, các bạn sao chép và dán đoạn code dưới đây vào file functions.php trong theme bạn đang sử dụng. Vị trí dán là cuối cùng của trang, ngay trước dấu đóng của PHP ?>
Nếu file functions.php không có dấu đóng thì bạn cứ dán nó vào cuối cùng của file thôi.

// function to count views.
function setPostViews($postID) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);  // Dùng <a title="wordpress get_post_meta" href="https://huyhoa.net/get_post_meta-wordpress/" target="_blank" rel="noopener">wordpress get_post_meta</a> để lấy thông tin 
    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);
    }
}

// function to display number of posts.
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 "0 View";
    }
    return $count.' Views';
}

// 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());
    }
}

Đoạn code trên sẽ update số lần view của bài viết mỗi lần có khách đọc, và hiển thị nó ra trang. Đồng thời nó cũng thêm một cột hiển thị số lần view trong trang quản trị (wp-admin) mục Bài viết (Post) của bạn.
Tuy nhiên, để hiển thị số lần xem trên trang thì bạn cần thêm đoạn code sau vào trong vòng lặp (Query loop) của file single.php.

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

Và tất nhiên, ta cũng phải thêm lệnh để nó luôn update số lần view mỗi lần có người đọc bài viết bằng đoạn code này vào trong vòng lặp (Query loop) của file single.php:

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

Như vậy ta có thể dễ dàng sắp xếp việc hiển thị của bài viết theo số lần đọc bằng lệnh này:

<?
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC');
?>

Đơn giản vậy thôi, chúc các bạn thành công. Hy vọng hướng dẫn của BienThuy.Com không quá khó hiểu với các bạn :D

4.6/5 - (2122 bình chọn)

One thought on “Hiển thị số lần xem bài viết trong WordPress không cần Plugin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *