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

Posted on

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);

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s