Thống Kê Lượt Xem Bài Viết WordPress Không Dùng Plugin
Nhiều bạn phát triển blog, website rất muốn có chức năng thống kê lượt xem từng bài viết để đánh giá hiệu quả từng bài. Và trên WordPress rất dễ dàng làm được điều đó.
Hiện tại, WordPress có rất nhiều plugin để có được chức năng thống kê này. Post Views Counter, WP-PostViews, Simple Post Views Counter,…và còn rất nhiều plugin khác. Bạn chỉ cần lên Google, hoặc WordPress.org gõ từ khóa “post view” là ra cả rổ.
Nhưng 1 chức năng đơn giản như vậy mà dùng đến plugin thì hơi tốn tài nguyên, khiến website của bạn bị nặng. Hôm nay, tôi xin chia sẻ cho các bạn từng bước tạo chức năng thống kê lượt xem bài viết WordPress không dùng plugin
Các bước tạo chức năng thống kê lượt xem bài viết WordPress
Bước 1: Tính lượt truy cập khi khách vào xem bài viết
Đầu tiên bạn vào file functions.php của theme bạn đang sử dụng và bỏ vào cuối file đoạn code sau:
//Hàm đếm lượt truy cập khi khách vào xem bài viết function ah_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); } }
Tiếp theo, bạn vào file single.php, và bỏ code sau ở trong vòng lặp while
<?php ah_setPostViews(get_the_ID()); ?>
Ví dụ: File single.php có nội dung như sau:
<?php get_header(); ?> <div class="content"> <?php if (have_posts()): while (have_posts()): the_post(); ?> <?php ah_setPostViews(get_the_ID()); ?> <h1><?php the_title(); ?></h1> the_content(); <?php endwhile; endif; ?> <?php get_sidebar(); ?> </div><!--End .content--> <?php get_footer(); ?>
Bước 2: Hiển thị lượt xem bài viết
Đầu tiên, bạn vào file functions.php và thêm đoạn code sau vào cuối file:
//Hàm hiển thị lượt xem bài viết function ah_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 "0 View"; } return $count.' Views'; }
Tiếp theo, bạn vào file single.php và chèn đoạn code sau tại nơi bạn muốn hiển thị:
<?php echo ah_getPostViews(get_the_ID()); ?>
PS: Nếu bạn muốn hiển thị trong category thì bạn có thể chèn vào file category.php hoặc archive.php
Bước 3: Chèn cột hiển thị lượt xem từng bài trong WP-Admin
Bạn mở file functions.php và chèn vào cuối file code sau:
// Add it to a column in WP-Admin 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()); } }
Bạn có thể bỏ qua bước này nếu bạn không cần chèn thêm cột vào WP-Admin
Kết Luận
Trên đây là hướng dẫn của tôi về cách thêm chức năng thống kê lượt xem bài viết không cần dùng Plugin.
Chúc các bạn thành công!