Cách hiển thị lượt xem bài viết trên theme GeneratePress

Bài viết này mình chia sẻ đến bạn cách hiển thị lượt xem bài viết trên theme GeneratePress chỉ với một đoạn code chèn vào file functions.php của theme/ child theme bạn đang dùng. Bạn nào trước giờ dùng theme này mà không biết hiển thị số lượt xem bài viết thì tham khảo thử nè ^^

Cách hiển thị lượt xem bài viết trên theme GeneratePress
Cách hiển thị lượt xem bài viết trên theme GeneratePress

Dưới đây là đoạn code đó, bạn copy dán vào cuối file functions.php >> lưu lại và xem kết quả. Đó là thao tác đơn giản nhất, bên dưới đó cũng có một số tùy chọn bổ sung, bạn muốn vọc thêm thì tham khảo nhé !

//CODE ĐẾM LƯỢT 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');
$count = 0;
} else {
$count = (int) $count;
}
if ($count === 0) {
return '';
}
$formatted_count = number_format($count, 0, ',', '.');
$icon_html = '<i class="fa fa-eye" aria-hidden="true" style="font-size:110%; margin-right:5px;"></i>';
return '<span class="post-views">' . $icon_html . $formatted_count . ' lượt xem |</span>';
}

function setPostViews($postID) {
if (empty($_SERVER['HTTP_USER_AGENT'])) {
return;
}
if (preg_match('/bot|crawl|spider|google|bing|yahoo|facebook|twitter|whatsapp/i', $_SERVER['HTTP_USER_AGENT'])) {
return;
}
$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 = (int) $count + 1;
update_post_meta($postID, $count_key, $count);
}
}

add_filter('generate_post_date_output', function($output, $time_string) {
$post_id = get_the_ID();
$views = getPostViews($post_id);
return str_replace('</span>', ' | ' . $views . '</span>', $output);
}, 10, 2);

add_action('wp_head', function() {
if (is_single()) {
setPostViews(get_the_ID());
}
}, 1);

add_action('wp_enqueue_scripts', function() {
if (is_single()) {
wp_enqueue_style(
'font-awesome',
'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css',
[],
'4.7.0'
);
}
}, 10);

add_filter('update_post_metadata', function($check, $object_id, $meta_key) {
if ($meta_key === 'post_views_count') {
wp_cache_delete($object_id, 'post_meta');
}
return $check;
}, 10, 3);

//HẾT CODE ĐẾM LƯỢT XEM
Tịnh Nguyễn
Admin

Mình hay vọc về WordPress, HTML & CSS để cải thiện trải nghiệm duyệt web trên Hocban.vn | Bạn có thể vào mục giới thiệuliên hệ để xem thêm thông tin chi tiết hơn nè.

5 2 đánh giá
Đánh giá bài viết
guest

6 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
Xe Ghép Tùng Chi
Khách

Xung phong comments đầu để có thêm hướng dẫn cho flatsome.

Xe Ghép Tùng Chi
Khách
Trả lời  Tịnh Nguyễn

Em thích đơn giản như cách của bác là chèn code vào “functions” và “custom css“. Chứ chèn trên file theme khó cho người không biết code như em ạ.

Xe Ghép Tùng Chi
Khách
Trả lời  Tịnh Nguyễn

Hóng cho flatsome bác ạ.