Làm thế nào để xóa sửa đổi bài?


9

Tôi chưa đặt giới hạn cho số lần sửa đổi, điều này khiến một số bài đăng của tôi có hơn 20 lần sửa đổi, vậy làm cách nào để xóa những sửa đổi này?

Nhân tiện, tôi đang sử dụng WPMU và có nhiều blog, vậy làm cách nào để xóa các bản sửa đổi WordPress cho tất cả các blog của tôi?

Câu trả lời:


10

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

Bạn nói đúng, điều này cũng rất hiệu quả ... đã đăng câu trả lời của tôi một cách vội vàng và cũng không nhận thấy phần WP MU. +1.
deathlock

và làm thế nào để loại bỏ các sửa đổi ngoại trừ giả sử 3 cuối cùng?
Matoeil

2

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.


Vui lòng mô tả những gì plugin làm và cách giải quyết vấn đề.
fuxia

1
Có nhiều plugin giúp sửa đổi và tối ưu hóa mà không cần phpmyadmin; không ai trong số họ được tuyên bố rõ ràng để làm việc với WPMU hoặc multisite.
markratledge

Plugin này có gây hại cho cơ sở dữ liệu của tôi không?
hugemeow

Tôi đã sử dụng plugin trên một vài trang web tôi chạy mà không gặp vấn đề gì. Nhưng luôn luôn là một ý tưởng tốt để sao lưu db của bạn trước tiên (nhưng đó chỉ là cách thực hành tốt nhất).
darronz

0

Để 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";


Tôi có hơn 100 blog trên wpmu, vì vậy tôi nên chạy 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 :(
hugemeow

0

Bạn cũng có thể thêm mã này vào functions.phptệ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_REVISIONSgiớ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


2
Câu trả lời này không nói về việc xóa các sửa đổi. Nhưng lời khuyên tốt của nó về cách vô hiệu hóa sửa đổi cho nội dung trong tương lai.
Nilambar Sharma

0

Bạn có thể sử dụng plugin WP Sweep để dọn dẹp các bản sửa đổi bài đăng. Sau khi kích hoạt plugin, hãy đi tới Công cụ »Quét để dọn dẹp cơ sở dữ liệu WordPress của bạn.


0

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.