海天无影Blog

清理修订版和草稿及屏蔽修改此功能

/ 1478阅 / 17评 / 0

话说海天用WordPress也编辑发布过两位数的文章了,对于WordPress的编辑还是很满意的,而且它还自动保存修订版和草稿,可以让我们不再担心突然断电等突发事件,辛苦码出来的文章就此报废。

可是……它保存的也太勤快些了吧,而且保存后也不覆盖上一次的内容,就这样不断的浪费数据库,实在是可忍孰不可忍啊。虽然网上有禁用修订版和草稿功能的方法,可是海天又不想扼杀这一突发时可以救命的功能。看来只能定时清理了……清理修订版和草稿可以利用插件WP Cleaner,这个插件能够显示整个博客现有的修订版和草稿有多少个,并能够一键清除所有的修订版和草稿。而且插件有保护机制,无论如何都不会将正在显示的文章清理掉。具体插件的下载和应用海天就不多说了,官网一搜就出来了,插件本身应用也很简单。

下面来说说手动清理修订版和草稿,因为据说插件装多了会拖慢速度,既然可以不用插件来完成的功能,我们就不用吧。不过这个要在MySQL后台运行SQL语句才行,登陆phpMyadmin,找到你blog的数据库,运行:

DELETE a,b,c FROM blog_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'

此方法将删除所有的文章的所有修订版,包括相关的meta数据。

有些人是快刀斩乱麻,直接不想要这个功能,下面来说说禁用修订版和草稿的修改方法吧。要禁用这个功能可以修改wp-settings.php这个文件

$default_constants = array( 'WP_POST_REVISIONS' => true );

修改为

$default_constants = array( 'WP_POST_REVISIONS' => false );

还可以在wp-config.php这个文件中,加入

define('WP_POST_REVISIONS', false);//false可设置数字,为保存几篇修订版

define('AUTOSAVE_INTERVAL', 120);//自动保存时间

上面说到用SQL直接删除垃圾数据,那再来扩展下,多删除点垃圾数据吧:

1、WordPress残留垃圾数据删除

经常换主题,装插件,但简单的删除并不彻底,数据库还是会有残留,而多余的垃圾数据就保留在post_meta表格里,久而久之就成了一堆可观的垃圾。可使用下面的SQL语句来清除不需要的post meta值。处理方法:清理wp_postmeta数据表,删除文章Meta标签

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

2、WordPress删除所有的垃圾评论

现在又Akismet插件遇到N多垃圾评论的可能性比较少了,但以防万一如果有很多垃圾评论的话,一个一个删除的话会累死的。

DELETE FROM wp_comments WHERE comment_approved = 'spam';
0 = Comment Awaiting Moderation
1 = Approved Comment
spam = Comment marked as Spam

3、WordPress处理未使用的标签

如果你使用一个SQL语句来手动删除旧的文章,旧的标签仍然会保留并在你的标签云/列表中出现。你可以使用下面的方法识别未使用的标签并将它删除。

SELECT * FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id
INNER JOIN wp_term_relationships wtr ON wtr.term_taxonomy_id=wtt.term_taxonomy_id
LEFT JOIN blog_posts wp ON wp.ID=wtr.object_id
WHERE taxonomy='post_tag'
AND ID IS null
AND NOT EXISTS(SELECT * From wp_terms wt2
INNER JOIN wp_term_taxonomy wtt2 ON wt2.term_id=wtt2.term_id WHERE wtt2.parent=wt.term_id) ORDER BY name;

OK,手动删了那么多垃圾数据库信息,但还是有很多其他比如插件删除留下的垃圾在wp_options表,要清理wp_options数据表,这里推荐插件clean-options,它可以列出wp_options表中的垃圾信息供你选择性删除。

SQL代码参考:北极

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注