Vì sao cần chuyển?
Các plugin đếm view phổ biến hiện nay thường gặp một số hạn chế:
- Không chống được cache (kể cả cache server, page cache, hay Cloudflare)
- Không hỗ trợ phân loại lượt xem theo ngày / tuần / tháng
- Không hỗ trợ REST API để truy vấn hoặc mở rộng
- Không hook được vào hệ thống đếm hoặc hiển thị
Init View Count được xây dựng để giải quyết triệt để các vấn đề này. Plugin dùng JavaScript để đếm view theo hành vi thực (scroll + thời gian), gửi dữ liệu qua REST API, lưu vào post meta, đồng thời hỗ trợ rất nhiều filter cho dev mở rộng.
Cách chuyển dữ liệu từ plugin cũ
Giả sử plugin cũ lưu tổng lượt xem vào meta key là _post_views_count, bạn chỉ cần thêm đoạn code sau vào theme (hoặc plugin riêng) để Init View Count đọc dữ liệu cũ:
add_filter('init_plugin_suite_view_count_meta_key', function ($key, $post_id = null) {
if ($key === '_init_view_count') {
return '_post_views_count';
}
return $key;
}, 10, 2);
Thế là xong. Khi bạn sử dụng shortcode [init_view_count], dữ liệu từ plugin cũ sẽ hiển thị ngay mà không cần di chuyển hay ghi đè. View mới vẫn được tính bình thường.
Di chuyển toàn bộ dữ liệu sang Init View Count (tuỳ chọn)
Nếu bạn muốn xoá hẳn plugin cũ và chuyển toàn bộ dữ liệu sang meta key chuẩn của Init View Count, bạn có thể chạy đoạn code sau một lần:
$posts = get_posts(['posts_per_page' => -1]);
foreach ($posts as $post) {
$old = get_post_meta($post->ID, '_post_views_count', true);
update_post_meta($post->ID, '_init_view_count', (int) $old);
}
Sau khi chạy xong, bạn có thể tắt plugin cũ, xoá dữ liệu cũ nếu muốn. Init View Count sẽ hoàn toàn kiểm soát và tiếp tục đếm từ giá trị hiện tại.
Hỗ trợ mọi hệ thống tự xây
Nếu bạn từng tự xây hệ thống đếm lượt xem riêng, hoặc dùng meta key bất kỳ (kể cả từ ACF), bạn vẫn có thể áp dụng cách tương tự:
- Sử dụng filter
init_plugin_suite_view_count_meta_keyđể map key cũ - Hoặc dùng script riêng để chuyển dữ liệu sang
_init_view_count
Init View Count không giới hạn người dùng trong bất kỳ cấu trúc cũ nào. Plugin hỗ trợ cả quá trình chuyển tiếp lẫn tái cấu trúc dữ liệu.
View theo ngày, tuần, tháng
Hầu hết các plugin cũ không hỗ trợ đếm view theo thời gian (ngày, tuần, tháng). Init View Count là một trong số rất ít plugin WordPress có hệ thống lưu và reset tự động các giá trị này qua cron và logic thời gian riêng biệt. Khi chuyển qua Init View Count, các trường này sẽ được tính lại từ thời điểm cài đặt plugin.
Kết luận
Init View Count không chỉ là một plugin đếm view đơn giản. Đây là nền tảng REST-based hiện đại, nhẹ, mở rộng tốt, và tương thích với mọi cache và frontend. Dù bạn đang dùng plugin cũ hay từng tự viết hệ thống đếm lượt xem riêng, quá trình chuyển đổi sang Init View Count là dễ dàng và an toàn.
Nếu bạn đang cần một nền tảng đếm view mới, sạch hơn, mở rộng tốt hơn – đây là thời điểm lý tưởng để bắt đầu.
Bình luận