Đế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 để đếm và hiể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:
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:
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é !
Quá tuyệt vời , cảm ơn bác Tịnh nhiều.
Quá tuyệt, cảm ơn bác Tịnh nhiều
Hay quá bác ơi, thank bác nhé
Cảm động quá bác :p
Em mò mãi không được, hix toàn lỗi các bác ạ
Mò ngay trên theme Smartline như Hocban.vn để có kinh nghiệm bác nhé !
Thanks Admin nhiều, dùng cách này không làm website phải load nhiều. Good (Y)
Cảm động quá ạ :v
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 số comment và hiển thị ra không chỉ cho em với .
Chủ thớt tham khảo theme này nhé, nó có những cái giống với mô tả đó: https://openrum.com/
Một thời đã dùng và giờ đã bỏ hj hj
Bác có dùng cache ko ?
Có chứ bác! nay cài plugin hơi nhìu nên phải dùng cache hj hj
Nếu mà xài cache là cái code như bài viết này không dùng được đâu bác 😀
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.
Trong bài viết chỉ là hướng làm thôi thớt, còn tùy mỗi theme mà cách làm cũng khác nhau. Bê code này qua theme khác nó ko chạy đâu, phải sửa lại và chèn đúng vị trí mới được.
Bên mình không có file template-tags.php thì chèn vào đâu vậy bạn?
Em cũng mới ngâm cứu theme của Themzee, mấy hãng khác chưa thử bác ạ. Nó có plugin đếm lượt xem, theme nào cũng cài được hết.
Bài viết rất hay và chi tiết.
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ỉ?
Ồ, lâu quá mới thấy bác Hocluat.vn qua đây chơi. Về cái code ở trên thì nó không xài được khi dùng cache nhé bác. Em cũng đã từng định tìm hiểu về code đếm lượt xem khi xài cache nhưng mà chưa làm được. Em chắc chắn nó có cách.
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 ạ?
Câu hỏi hay lắm, câu trả lời là: mình không biết. Để bác nào bơi vào thấy thì trả lời cho bạ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 :/
Cái này thấy nhẹ òm chớ nặng chi đâu bác 😀
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ử
Thông thường nó nằm ở vị trí hiển thị ngày đăng bài, người đăng bài, tên chuyên mục,…. em thấy nhiều theme nó đặt tên cũng khác nhau nên không biết tên nó là gì.
Bác đăng cái theme mà bác đang cần hiển thị lượt xem vào nhóm này để anh em mổ ra xem thử nó trong file nào nhé https://www.facebook.com/groups/Wordpresscoban/
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
Bác xài theme gì thế ? em thì không rành vụ cấu trúc theme WordPress đâu, nhưng mà hồi giờ e xài hầu như cái nào cũng có mấy file cùng tên như thế mà ta 😀
Code chạy ngon lành, nhẹ nhàng cho web 😀
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.
Nhân tiện nhờ bác @Cường viết bài chia sẻ cách đếm lượt xem với cache luôn ạ. Em thì phần code này chịu thua ạ, chỉ dựa trên cái có sẵn rồi tùy biến lại thôi chứ tự làm thì không đủ khả năng 😀
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
Ồ cái này có phải ý bạn là hiển thị danh sách bài viết theo số lượng view đúng ko nè ?
đú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
Căng đấy, cái này mình chưa làm bao giờ. Có gì bạn đăng lên nhóm WordPress Cơ Bản thử nhé !
Cảm ơn bạn!
bạn cho mình cái link nhóm đó được ko ạ
Link nhóm đây bạn nhé: https://fb.com/groups/Wordpresscoban/
Cảm ơn bạn nhé
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
Bác dùng code đếm lượt xem giống Hocban.vn hay sao nhỉ ?
Tiếp tục phát huy nha bác ơi ^^
Đa tạ bác đã động viên ạ 😀 E sẽ phát huy hết khả năng, hề hề !
Ặc, sao bình luận của mình nó giảm thế nhể 😐
Nó đếm lùi trong 30 ngày mà. Nhưng tổng số bình luận thì không giảm. À mà nay sao lại dùng tài khoản khác comment thế kia ?
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
Ủa, sao mà bị xóa email gớm vậy ?
Cứ hít đu đủ đều đặn mỗi ngày là sẽ đứng tóp thôi :v
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
Nát nhỉ, nó xóa trước hay sau khi bán bờ lóc Bác Sĩ Windows ?
Cứ quẩy tẹt ga lên chứ sợ gì, sao không đặt tên rõ ràng ra Trường Đẹp Zai mà đặt thế ?
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
Thế cái web Bác Sĩ Windows có 2 mail nên nó ko bị chết đúng ko ?
Học sinh hít đu đủ mới nhiều đấy, học không chơi oánh rơi tủi trẻ, chơi không học mất cả em yêu. ĐZ nhìn vào không hiểu là gì đâu 🙁
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
May đấy nhỉ, nó mà tạch trước khi bán thì đi cả chì lẫn chài nhỉ. Có làm gì sai trái không mà bị bác Gồ xử trảm thế kia ? :v
Ngon đấy, phải thế thôi, nhưng mà cũng nên làm cái trang kiểu thông tin cá nhân hay giới thiệu gì đó để mọi người kíc vào có cái mà xem chứ 😀
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?
Chơi đồ Google là tránh mấy cái vi phạm bản quyền ra, site blogspot đang ngon mà bị xóa là bao nhiêu công sức xuống sông xuống bể hết. WordPress thì nó sao lưu mỗi ngày, ít ra nếu bị hacker phá thì có thể khôi phục lại ngày trước đó 😀
Làm cái trang giới thiệu như mấy lão Designer hay Developer hay làm đấy. Tôi là ai ? Trình độ kiến thức, kinh nghiệm làm việc với gì gì…. bla bla 😀
Mình muốn cài sẵn một lượng người xem vào được không vậy bạn?
Như vậy phải random cho nó quá, số nhảy từ 5000 đến 10.000, phương pháp là vậy thôi chứ e cũng ko biết code cái đó :v
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
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.
Những cái đó độc lập với nhau bác nhé. Tùy theo nhu cầu mà bác muốn thêm hay bớt cái nào cũng đc, thay đổi vị trí, của chúng.
Tuy nhiên, do phần không gian ở đó có hạn nên bác nên để 03 thông tin như e thôi, thêm một cái nữa là nó xuống hàng trên điện thoại nhìn xấu.
cảm ơn bài viết quá hữu ích
Hề hề, quẩy lên nhé ! Cố gắng tạo cái Avatar để đi comment cho nó uy tín nhé bác !
đổi chữ coment thành chữ bình luận kiểu gì nhỉ bác
Có 02 cách để đổi nhé: Cách 1 là tìm từ comment trong theme và sửa nó thành từ mong muốn. Tuy nhiên cách này phải hiểu tí code mới làm được.
Cách 02 là tải về plugin Loco Translate rồi kiếm từ comment >> dịch nó thành “bình luận” là xong nhé !
https://vi.wordpress.org/plugins/loco-translate/
Lâu lâu quay lại thăm bạn đây Học Bạn ^_^
Haha, ờ nhỉ ? Lâu rồi mới thấy bác quay lại. Dạo này không biết mần ăn sao rồi, em thường có thói quen bấm vào link ở Top Comment bên sidebar. Lâu rầu ko thấy bác ở đó nữa :v
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
Không có gì đâu, cứ ra thủ thuật nào vác về xài hết là dui lắm rầu. Cắt bớt thời gian đi với chưng dài, qua đây hít đu đủ là được :v
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
Haha, sợ đối thủ luôn á :v Do Yêu A lô nhiều viu nên sợ là đúng rồi, còn hiện tại Hocban.vn ít views lắm nên anh em nào thích theo dõi cứ theo :v
Cái này nếu không muốn người ta nhìn thấy mà chỉ admin thì không cho nó hiển thị trong post info cũng được :v
Ui cả tuần nay mới đi lượn blog đây, dạo này mệt mỏi quá bác ạ
Ra trường rồi bận rộn phết nhỉ, cái bờ lóc lần này cố mà giữ lại nhé ! :v Cái Phanhung.net hay hungphan.net gì đấy hình như bị chuyển tiếp rồi thì phải.
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ả 🙁
Tối nay đi quẩy nè, hơn cả tuần nay không quẩy nổi :v
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!
Haha, thấy rầu. Cũng được đấy, thế là bữa nay đủ các đồ chơi để chạy đua thành tính rầu nhá :v