Mặc định trong WordPress không có chức năng đếm số lượt xem cho bài viết, nếu bạn muốn bổ sung chức năng này thì bắt buộc phải cài thêm plugin bên ngoài, tuy nhiên việc cài plugin thì rất đơn giản nhưng lại khiến cho trang web của bạn trở nên nặng nề hơn và làm giảm một phần tốc độ của trang web.
Sau đây mình sẽ chia sẻ cho các bạn một đoạn code với chức năng đếm số lượt xem cho Website của bạn trong WordPress.
Code đếm số lượt xem cho bài viết
Bạn sao chép đoạn code bên dưới và và dán vào file functions.php của theme bạn đ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 "<b>01 </b>";
}
return $count.' ';
}
// 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'] = __('Lượt xem');
return $defaults;
}
function posts_custom_column_views($column_name, $id){
if($column_name === 'post_views'){
echo getPostViews(get_the_ID());
}
}
Hướng dẫn cách sử dụng
setPostViews(get_the_ID()); // CODE TẠO BỘ ĐẾM CHO BÀI VIẾT
Với đoạn code ở trên bạn sao chép nó sau đó tìm đếm file single.php trong thực mục theme mà bạn đang sử dụng. Mở file lên và tìm đến đoạn vòng lập “while ( have_posts() ) : the_post();” và dán nó ngay dưới đoạn vòng lập này.
<?php echo getPostViews(get_the_ID()); ?>
Cuối cùng là đoạn code này, bạn có thể đặt bất kỳ vị trí nào để hiển thị số lượt xem (có thể đặt trong file single.php để hiển thị số lượt xem bài viết ở cuối trang, hoặc đặt ở phần mô tả ngắn của bài viết).
Chúc các bạn thành công!
Tính năng này có hoạt động mới plugin cache không anh?
em lại dùng cache nên để thử sau, mà anh làm thế nào để lượt xem hiển thị vòng loop after title post vậy
ok anh
Anh cho em hỏi, em muốn khi người dùng vào bài viết, thay vì cộng thêm 1 lượt xem, em muốn cộng thêm 3-4 lượt. Thì phải dùng code nào ạ. Mong anh giải đáp
Mình sử dụng lượt đếm này để lấy ra những bài viết đã xem gần đây được không Cáo?!
Mình muốn lấy kiểu như bài viết bạn mới xem. Vậy đó được không Cáo!
Cho mình hỏi làm sao để x10 lượt xem được vậy Cáo ?
Dạ chào anh, em dùng code này cũng gần 1 năm rồi nhưng vừa mới 2 hôm trước thì nó xảy ra tình trạng không + view nữa ạ, hoặc rất rất chậm mới nhảy view lên, tình trạng xảy ra sau khi em gia hạn tên miền (không rõ nữa nhưng nó bị sau khi em làm điều này). Nếu anh biết những nguyên nhân nào có thể giúp em với nha, em cảm ơn nhiều
Dạ em cảm ơn ạ, để em kiểm tra lại