Gỡ bỏ “post revision” của WordPress

Trong bài viết “Tay không” sao lưu và phục hồi database cho blog WordPress tôi có nói là bạn cần phải làm một chuyện trước khi thực hiện việc backup database. Chuyện đó liên quan đến “post revision” của WordPress.

Có lần tôi hoảng hồn khi truy cập vào database, nhìn vào bảng wp_posts (lưu trữ toàn bộ bài viết trên blog WordPress) thì thấy có gần 10.000 mẫu tin -> có nghĩa là tôi đã viết tới … 10.000 bài viết (Thực tế, số bài viết hiện tại trên blog chỉ khoảng 1.166 bài) !? “Mẹ ơi, viết để mà chết hay sao mà viết nhiêu đó trong hơn 1 năm ?”. Vô coi thử thì tôi thấy rất nhiều mẫu tin có nội dung bị trùng lắp ! Vì sao thế ?

Tìm hiểu thì biết được đó là tính năng “post revision” của WordPress. Mỗi lần bạn mở bài viết ra, chỉnh sửa và lưu lại (hoặc WP sẽ tự động lưu), nó sẽ lưu thành một dòng mới trong database. Mục đích của việc làm này là giúp bạn quay lại các phiên bản trước đó nếu chẳng may bạn xóa hết nội dung và bấm nút Save. Mở một bài viết ra, bạn sẽ thấy bên dưới phần soạn thảo có một mục gọi là “Revisions”, bấm vào revision mà bạn muốn phục hồi -> nội dung hiện tại sẽ bị thay thế bởi nội dung được lưu vào thời điểm revision đó được tạo ra.

Remove wordpress post revision

Có quá nhiều mẫu tin không cần thiết sẽ khiến cho việc truy xuất database trở nên chậm chạp và thời gian tải blog sẽ lâu hơn, quan trọng là khi bạn backup dữ liệu sẽ có quá nhiều dữ liệu thừa ! Bạn có thể sử dụng các plugin chuyên dụng để xóa các revision này hoặc tự làm bằng tay theo cách sau và có thể vô hiệu hóa tính năng này của WP…

Xóa các bài viết thừa trong database :

Truy cập vào phần quản trị database > bấm vào thẻ SQL và gõ vào dòng lệnh sau :

DELETE FROM tên_bảng_posts WHERE post_type = ‘revision’

Trong đó “tên_bảng_posts” là tên đầy đủ của bảng “posts” trong database của bạn. Ví dụ của tôi là “anhhangxomonlie_posts”. Xong bấm nút “Go”, hộp thoại cảnh báo hiện ra bạn bấm OK.

Remove wordpress post revision

Nếu thành công bạn sẽ thấy nó thông báo bao nhiều mẫu tin đã bị xóa như sau :

Remove wordpress post revision

Như trong hình, nó giúp tôi loại bỏ 4881 dòng dữ liệu thừa trong database.

Vô hiệu hóa tính năng “post revision” của WP :
Bạn mở tập tin “wp-config.php” ra và thêm vào dòng sau
define(‘WP_POST_REVISIONS’, false);

7 Comments
  1. thêm dòng define(‘WP_POST_REVISIONS’, false); vào đầu hay cuối file “wp-config.php”
    vậy anh hàng xóm

  2. Anh ơi, anh có thể hướng dẫn vô hiệu hóa luôn auto draft ko?, nó cứ tự động save hoài

  3. cảm ơn những thông tin rất hữu ích từ bài viết. mình đã xoá được những revision cũ.

Trả lời anhhangxom Huỷ phản hồi