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
Với đoạn code ở dưới này bạn sao chép nó vào file single.php
trong thư 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.
setPostViews(get_the_ID()); // CODE TẠO BỘ ĐẾM CHO BÀI VIẾT
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 bài viết trên wordpress (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).
<?php echo getPostViews(get_the_ID()); ?>
Chúc các bạn thành công!