如何删除帖子修订?


9

我没有对修订数量设置限制,这使我的某些帖子具有20多个修订,那么如何删除这些修订?

顺便说一句,我正在使用WPMU,并且有很多博客,那么如何删除我所有博客的WordPress版本?

Answers:


10

与他的回答中的死锁查询不同,这是一个使用起来更安全的查询,并且将从postmeta和term_relationship中删除相关条目。

将{id}更改为每个博客文章表的ID。您可以结合使用此查询来一次运行所有发布表,但是请首先在一个表上进行尝试。我已经在单个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'

运行它之后,在phpmyadmin中优化数据库。

并在wp-config.php顶部附近添加以下行,以防止将来进行修订:

define('WP_POST_REVISIONS', 0);

或保存一个修订:

define('WP_POST_REVISIONS', 1);

没错,这也是非常有效的...赶紧发布我的答案,也没有注意到WP MU部分。+1。
死锁

以及如何删除修订(除了最后3个)?
Matoeil

2

还有一个插件WP Optimize可以帮助您完成此操作

从网站:

WP-Optimize是WordPress 2.9 ++数据库清理和优化工具。不需要PhpMyAdmin来优化数据库表。

它使您可以单击几下删除帖子修订,垃圾邮件队列中的评论以及未经批准的评论。


请描述该插件的功能以及如何解决该问题。
fuxia

1
有许多插件无需phpmyadmin即可清理修订和优化。没有明确指出它们都可以与WPMU或多站点一起使用。
markratledge 2012年

这个插件会损害我的数据库吗?
hugemeow 2012年

我在几个没有问题的网站上使用了该插件。但是,首先备份您的数据库始终是一个好主意(但这只是最佳实践)。
darronz 2012年

0

要删除所有的WordPress版本,可以使用以下查询:

DELETE FROM wp_posts WHERE post_type = "revision";


我在wpmu上有100多个博客,所以我应该运行DELETE FROM wp_n_posts WHERE post_type = "revision";连续n次吧?但这很无聊:(
hugemeow 2012年

0

您还可以将此代码添加到主题functions.php文件中:

if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);

此代码检查是否WP_POST_REVISIONS已在中设置了limit wp-config.php,如果尚未设置,则将参数传递给限制发布修订的函数。在以上示例中,帖子仅限于3个修订版本。

当为不知道如何(或不想)添加代码的人构建主题时,这是一个很好的解决方案。

取自wp-functions.com


2
此答案不涉及删除修订。但是它对如何禁用将来内容的修订提供了很好的建议。
Nilambar Sharma 2015年

0

您可以使用WP Sweep插件来清理帖子修订。激活插件后,转到工具»扫描以清理WordPress数据库。


0

感谢您的回答,markratledge。关于{id}的语法中的某些内容对我不起作用。我将{id}更改为4009,这是我的帖子ID之一,但没有成功。我在https://dev-notes.eu/2017/11/manage-and-safely-delete-revisions-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';

很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.