Cách hiển thị lượt xem bài đăng 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 đăng 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 đăng trên theme GeneratePress
Cách hiển thị lượt xem bài đăng 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
Admin

Tịnh Nguyễn

Mình thích tìm hiểu về WordPress, HTML & CSS. Là tác giả của nhiều bài viết trên blog này và các video trên Kênh YouTube Hocban.vn | Bạn thể xem thêm thông tin tại mục LIÊN HỆ
5 1 đá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 ạ.