Đếm và hiển thị số lượt xem bài viết trên WordPress

Dem và hien thi so luot xem bai viet tren WordPress

Đếm và hiển thị số lượt xem bài viết trên WordPress

Trong bài này Hocban.vn chia sẻ đến các bạn cách để đếmhiển thị số lượt xem bài viết trên WordPress mà không dùng plugin. Sau đây là nội dung chi tiết:

Mục đích của việc đếm và hiển thị số lượt xem bài viết

À cái này nếu mà bạn đã có ý định hiển thị số lượt xem bài viết thì các bạn đã có mục đích rồi. Và ở đây mình cũng nói thêm nó có lợi như thế nào:

  • Hiển thị số lượt xem bài viết giúp cho tác giả nhìn ngay ra được bài viết đó được bao nhiêu lượt xem, kiểu như thành tích ấy mà, khá là hứng thú.
  • Đối với người dùng thì những bài viết có lượt xem nhiều sẽ thu hút họ ngay cái nhìn đầu tiên, mình tin rằng với những bài viết có nhiều lượt xem thì người ta cũng sẽ muốn xem thử nó có gì hay ho mà nhiều người xem vậy. Và chính họ cũng đã đóng góp một lượt xem cho bài viết đó :v

Cách đếm và hiển thị số lượt xem bài viết

Để đếm và hiển thị số lượt xem bài viết thì các bạn lần lượt chèn đoạn code sau vào các file tương ứng như mình hướng dẫn, ở đây mình sẽ thực hiện trên theme Smartline để các bạn tham khảo.



B1: Chèn code đếm lượt xem vào cuối file function.php của theme đang sử dụng:

//CODE LAY LUOT XEM
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 "01 lượt xem";
    }
    return $count.' lượt xem';
}
 
// CODE DEM LUOT XEM
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);
    }
}
  
//CODE HIEN THI SO LUOT XEM BAI VIET TRONG DASHBOARDH
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());
    }
}
?>

B2: Các bạn dán đoạn dưới đây vào trong file single.php như hình bên dưới

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

Vị trí chèn:  các bạn mở file single.php ra và chèn nó gần ở mấy dòng code đầu luôn, cụ thể là chèn nó bên dưới đoạn:

<div id="wrap" class="clearfix">

Sau khi xong nó sẽ như thế này:

Code lay luot xem sau khi duoc chen trong file single.php

Code lấy lượt xem sau khi được chèn trong file single.php

B3: Chèn đoạn code sau vào vị trí bạn muốn nó hiển thị, ở đây mình sẽ cho nó hiển thị chỗ thông tin bài viết (post info). Các bạn mở file template-tags.php (wp-content/themes/smartline-lite/inc/template-tags.php)và tìm đến đoạn Display Comments.

Ngay bên dưới nó các bạn chèn đoạn code sau vào vị trí như hình mình đã làm sẵn:

<span class="luot-xem">
<?php echo getPostViews(get_the_ID()); ?> </span>

Vị trí chèn:

Chen code hien thi so luot xem trong post info

Chèn code hiển thị số lượt xem trong post info

B4: Thêm CSS cho cái hiển thị lượt xem. Bạn nào biết CSS thì chèn nó vào trong file Style.css còn nếu không thì cứ vào phần Additional CSS và dán đoạn code sau đây xuống dưới cùng nhé !

.luot-xem:before {
    content: '\f403';
	margin-right: 3px;
}
span.luot-xem {
    color: #0000ac;
}

Sau khi làm xong thì các bạn sẽ được kết quả như cái hình ở đầu bài viết ấy, lưu ý là số lượt xem bài viết nó sẽ được đếm kể từ lúc các bạn thực hiện theo hướng dẫn này. Trước đó nếu có triệu view nó cũng không có đếm đâu.

Đồng thời trong trang quản lý bài viết các bạn cũng có thêm trường thông tin về số lượt xem bài viết nữa. Trong đoạn code đầu tiên mình có ghi chú là code để hiển thị số lượt xem trong Dashboard, bạn nào không cần thì xóa đoạn đó đi là được.

Như vậy là chúng ta vừa thực hiện xong việc đếm và hiển thị số lượt xem trên WordPress mà không dùng plugin rồi đấy. Cũng không quá phức tạp nhỉ ? Và nếu bạn nào xem xong mà chưa làm được hoặc có chỗ nào thắc mắc / góp ý thì cứ để lại bình luận bên dưới nhé !

Bài viết liên quan

5.0
01

Nếu bạn thấy bài viết này hữu ích thì có thể chia sẻ nó qua:

Bài viết bạn đang xem được viết bởi Tịnh Nguyễn, một thanh niên đến từ Gia Lai, lai rai hay đi comment dạo 😂

avatar
21 Comment threads
47 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
20 Comment authors
dũngHữu ThuầnHậuMộcThiện Võ Recent comment authors
dũng <span class="wpdiscuz-comment-count">1 bình luận </span>

em hỏi ngu tí vì chả tìm thấy ý mình muốn trên trang nào cả em đang làm 1 web đồ án kiểu hỏi đáp trực tuyến . mỗi bài viết hiển thị ngắn gọn trên trang chủ đều sẽ có ảnh người đăng , tiêu đề bài viết +1 đoạn 30 từ ngắn gọn về câu hỏi + ngày đăng + 1 ô hiển thị số views + 1 ô hiển thị số comment + vote . cơ mà em chỉ mò mẫm làm được số views với số vote thui . có ai biết cách nào tính được… Read more »

Hữu Thuần <span class="wpdiscuz-comment-count">88 bình luận </span>

Một thời đã dùng và giờ đã bỏ hj hj

Hữu Thuần <span class="wpdiscuz-comment-count">88 bình luận </span>

Có chứ bác! nay cài plugin hơi nhìu nên phải dùng cache hj hj

Hậu <span class="wpdiscuz-comment-count">26 bình luận </span>

Happy theme mình đang dùng khi cài vào thì bị lỗi không hiển thị bài viết.

Hậu <span class="wpdiscuz-comment-count">26 bình luận </span>

Bên mình không có file template-tags.php thì chèn vào đâu vậy bạn?

Hậu <span class="wpdiscuz-comment-count">26 bình luận </span>

Bài viết rất hay và chi tiết.

Học Luật Online <span class="wpdiscuz-comment-count">42 bình luận </span>

Code không hoạt động khi website có sử dụng WP Super Cache 🙁 Có cách nào khắc phục không Tịnh nhỉ?

Mộc <span class="wpdiscuz-comment-count">1 bình luận </span>
Mộc 1 bình luận

bác cho em hỏi ngu tý, lượt click trên bài viết tức thời FB có tích hợp vào tổng wiew của website không ạ?

Thiện Võ <span class="wpdiscuz-comment-count">2 bình luận </span>
Thiện Võ 2 bình luận

Cài xong có nặng web lắm không bác? Mấy bữa nay đang tối ưu tốc độ web :/

Thiện Võ <span class="wpdiscuz-comment-count">2 bình luận </span>
Thiện Võ 2 bình luận

Tks bác, còn file template-tags.php theme mình không có, nó còn tên nào khác ko bác? index.php hử

Sơn Standa <span class="wpdiscuz-comment-count">5 bình luận </span>

Sao mình không có file single.php mà chỉ có blog-single.php với cả cpt-single.php….đồng chí nhỉ? Tìm kiếm không thấy luôn

Sabo <span class="wpdiscuz-comment-count">28 bình luận </span>

Code chạy ngon lành, nhẹ nhàng cho web 😀

Lại Đình Cường <span class="wpdiscuz-comment-count">114 bình luận </span>

Mấy cái thống kê không nhẹ đâu bạn, nên viết kèm với cache, tính theo địa chỉ IP và session.

nguyễn long <span class="wpdiscuz-comment-count">4 bình luận </span>

b ơi mình làm đếm lượt view vào widget để list các post ra. mà mỗi lần refresh nó lại đếm tất cả. mỗi lần refresh mỗi cái cộng 1 view

nguyễn long <span class="wpdiscuz-comment-count">4 bình luận </span>

đúng vậy bạn. mình hiển thị bên side bar sắp xếp view từ cao xuông thấp. mà mỗi lần load thì tất cả đều lên view

nguyễn long <span class="wpdiscuz-comment-count">4 bình luận </span>

Cảm ơn bạn!
bạn cho mình cái link nhóm đó được ko ạ

nguyễn long <span class="wpdiscuz-comment-count">4 bình luận </span>

Cảm ơn bạn nhé

Blog Voz <span class="wpdiscuz-comment-count">2 bình luận </span>

site của mình dùng plugin cache tự nhiên không đếm nữa, kể cả tắt plugin đi rồi

Web Khởi Nghiêp <span class="wpdiscuz-comment-count">1 bình luận </span>

Tiếp tục phát huy nha bác ơi ^^

Trường Đẹpzai <span class="wpdiscuz-comment-count">17 bình luận </span>

Ặc, sao bình luận của mình nó giảm thế nhể 😐

Trường Đẹpzai <span class="wpdiscuz-comment-count">17 bình luận </span>

Email bacsiwindows.com bị xóa rồi nên xài lại cái email cũ của em :v

Kiểu này chắc phải tích cực bình loạn để được đứng tóp lâu dài :v

Trường Đẹpzai <span class="wpdiscuz-comment-count">17 bình luận </span>

Google nó xóa mà em đâu có biết :v

Ngày nào cũng hít sợ tuyệt chủng lá đu đủ :v với lại sợ ảnh hưởng đến sức khỏe và đời sống gia đình sau này :v

Trường Đẹpzai <span class="wpdiscuz-comment-count">17 bình luận </span>

Mới xóa 2 3 hôm nay à, bán được mấy ngày rồi mới bị xóa.

Lạy chúa con còn lứa tuổi học sinh, hít vừa đủ liều lượng thôi không dám quẩy tẹt ga đâu… để Trường Đz cho ngắn gọn, xúc tích, (lười viết dài) :v

Trường Đẹpzai <span class="wpdiscuz-comment-count">17 bình luận </span>

Cũng may vừa chuyển giao cho người khác nên không sao, còn các dữ liệu như hình ảnh, các file trên Google Drive, Email,… thì die sạch :v

Thôi được, theo đường lối và chính sách vĩ đại của anh kết hợp với triết lý Tịnh-Nguyễn-Học-Bẩn, em sẽ quẩy tẹt ga trên cái học bẩn này, ahihi :v

Trường Đẹpzai <span class="wpdiscuz-comment-count">17 bình luận </span>

Không biết anh ạ, chắc do upload file crack, phần mềm bản quyền gì đấy… giống như blog bacsiwindows.blogspot.com của em hồi trước, nó xóa một phát luôn không thể khôi phục được :v

Làm cái trang thông tin, giới thiệu gì hỉ anh?

Blog Duy Đàm <span class="wpdiscuz-comment-count">63 bình luận </span>

Mình muốn cài sẵn một lượng người xem vào được không vậy bạn?

Blog Duy Đàm <span class="wpdiscuz-comment-count">63 bình luận </span>

Cũng rất cảm ơn bạn vì những giải đáp thắc mắc rất chi tiết như thế này. hihi

Blog Duy Đàm <span class="wpdiscuz-comment-count">63 bình luận </span>

Nếu mình làm theo thì nó chỉ hiện số lượt xem hay còn hiện luôn cả số lượng bình luận. Vì theme mình đã có đếm số bình luận rồi.

sữa havit <span class="wpdiscuz-comment-count">3 bình luận </span>

cảm ơn bài viết quá hữu ích

Le Hai <span class="wpdiscuz-comment-count">15 bình luận </span>

đổi chữ coment thành chữ bình luận kiểu gì nhỉ bác

Học Luật Online <span class="wpdiscuz-comment-count">42 bình luận </span>

Lâu lâu quay lại thăm bạn đây Học Bạn ^_^

YêuAlo <span class="wpdiscuz-comment-count">31 bình luận </span>

Hay đó bác. Em đã áp dụng thành công cho trang yeualo.com của mình. Cám ơn bắc đa chia sẻ nhá! <3

YêuAlo <span class="wpdiscuz-comment-count">31 bình luận </span>

Haha…. cái đếm view cũng hay. Nhưng sẽ bị đối thủ theo dõi nên em để chỉ admin mới nhìn thấy thôi. Thực ra cái này em dùng rất rất lâu rồi mà ẩn đi :v

Phan Hùng <span class="wpdiscuz-comment-count">24 bình luận </span>

Ui cả tuần nay mới đi lượn blog đây, dạo này mệt mỏi quá bác ạ

Phan Hùng <span class="wpdiscuz-comment-count">24 bình luận </span>

E chuyển qua cái mới rồi còn gì :)) bác chẳng qua thả comment giúp e tí nào cả 🙁

Vũ Minh Chiến <span class="wpdiscuz-comment-count">20 bình luận </span>

Ngon! :v dạo này thấy cái này ai cũng áp dụng! :v em cũng vừa mới chỉnh cho web xong!