Câu trả lời:
Đây là một truy vấn an toàn hơn nhiều để sử dụng và sẽ xóa các mục liên quan khỏi postmeta và term_relationship, không giống như truy vấn deathlocks trong câu trả lời của anh ấy.
Thay đổi {id} thành id của mỗi bảng bài đăng trên blog. Bạn có thể kết hợp truy vấn này để chạy tất cả các bảng bài viết cùng một lúc, nhưng hãy thử điều này trên một bảng trước. Tôi đã sử dụng nó nhiều lần trong các lần cài đặt WP.
DELETE a,b,c
FROM wp_{id}_posts a
LEFT JOIN wp_{id}_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_{id}_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
Sau khi bạn chạy nó, tối ưu hóa cơ sở dữ liệu trong phpmyadmin.
Và thêm dòng này gần đầu wp-config.php để ngăn các sửa đổi trong tương lai:
define('WP_POST_REVISIONS', 0);
hoặc lưu một bản sửa đổi:
define('WP_POST_REVISIONS', 1);
Ngoài ra còn có một plugin, WP Optimize có thể giúp bạn làm điều này
Từ trang web:
WP-Optimize là một công cụ dọn dẹp và tối ưu hóa cơ sở dữ liệu WordPress 2.9 ++. Nó không yêu cầu PhpMyAdmin để tối ưu hóa các bảng cơ sở dữ liệu của bạn.
Nó cho phép bạn xóa các sửa đổi bài đăng, bình luận trong hàng thư rác, bình luận không được chấp thuận trong vài cú nhấp chuột.
Để xóa tất cả các phiên bản Wordpress của bạn, bạn có thể sử dụng truy vấn này:
DELETE FROM wp_posts WHERE post_type = "revision";
DELETE FROM wp_n_posts WHERE post_type = "revision"
; cho n lần, phải không? nhưng điều này khá nhàm chán :(
Bạn cũng có thể thêm mã này vào functions.php
tệp của chủ đề :
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
Mã này kiểm tra nếu WP_POST_REVISIONS
giới hạn đã được đặt wp-config.php
, Nếu không thì nó sẽ chuyển một tham số cho hàm giới hạn sửa đổi bài. Trong ví dụ trên, bài viết được giới hạn trong 3 lần sửa đổi.
Đây là một giải pháp tốt khi xây dựng chủ đề cho những người không biết cách (hoặc không muốn) thêm mã.
Lấy từ wp-fiances.com
Cảm ơn câu trả lời, markratledge. Một cái gì đó trong cú pháp liên quan đến {id} không hoạt động đối với tôi. Tôi đã thay đổi {id} thành 4009, một trong những id bài đăng của tôi, nhưng không thành công. Tôi đã tìm thấy một giải pháp trên https://dev-notes.eu/2017/11/manage-and-safely-delete-revutions-in-wordpress/
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';
Điều đó đã làm việc tốt.