Trong bài viết này, bạn sẽ học cách xóa các bản revision cũ bằng code, nhưng vẫn giữ lại bản gần nhất để đảm bảo an toàn dữ liệu.
Revision trong WordPress là gì?
Mỗi khi bạn nhấn nút “Lưu nháp” hoặc “Cập nhật”, WordPress tạo ra một bản sao của nội dung – gọi là revision. Điều này giúp bạn quay lại phiên bản trước nếu cần, nhưng cũng tạo ra hàng trăm (thậm chí hàng ngàn) bản trong cơ sở dữ liệu sau một thời gian.
“Giữ lại bản sửa đổi mới nhất là đủ – những bản cũ hơn thường không cần thiết.”
Code tự động xóa revision cũ
Thêm đoạn mã sau vào file functions.php trong theme (hoặc tạo plugin riêng):
add_action('init', 'clean_old_post_revisions');
function clean_old_post_revisions() {
global $wpdb;
// Lấy tất cả ID bài viết
$posts = $wpdb->get_col("
SELECT ID FROM $wpdb->posts
WHERE post_type = 'post' AND post_status IN ('publish', 'draft')
");
foreach ($posts as $post_id) {
// Lấy revision mới nhất của bài viết
$latest_revision = $wpdb->get_var("
SELECT ID FROM $wpdb->posts
WHERE post_type = 'revision' AND post_parent = $post_id
ORDER BY post_date DESC
LIMIT 1
");
// Xóa tất cả revision khác (trừ bản mới nhất)
if ($latest_revision) {
$wpdb->query("
DELETE FROM $wpdb->posts
WHERE post_type = 'revision'
AND post_parent = $post_id
AND ID != $latest_revision
");
}
}
}
Gợi ý chạy định kỳ
Để không làm chậm site, bạn có thể:
- Chạy đoạn code thủ công từ WP-CLI
- Hoặc tích hợp vào cron job nội bộ, ví dụ:
if (!wp_next_scheduled('cleanup_revisions_cron')) {
wp_schedule_event(time(), 'weekly', 'cleanup_revisions_cron');
}
add_action('cleanup_revisions_cron', 'clean_old_post_revisions');
Lưu ý an toàn
- Luôn backup database trước khi áp dụng.
- Không nên xóa revision nếu bạn đang làm việc nhóm hoặc chỉnh sửa nội dung liên tục.
- Giữ lại bản revision mới nhất giúp bạn phục hồi nhanh khi cần.
Kết luận
Việc giữ lại duy nhất bản revision gần nhất giúp bạn giảm bloat trong database mà vẫn giữ an toàn nội dung. Đây là cách đơn giản nhưng hiệu quả để dọn dẹp WordPress – đặc biệt với website có tuổi đời lâu hoặc nhiều người biên tập.
Bình luận