批量清除WordPress文章的修订版本和自动草稿生成的多余数据

在我们使用WordPress编写文章或修改文章时,WordPress会自动保存生成一个修订版本,如果一篇文章经过几次的修订,你就会发现WordPress在不知不觉中已经帮我们保存了该文章的好几个版本,主要是方便恢复,初衷是好的,不过日积月累所生成的修订版本数量是所写文章的好几倍,会产生大量的冗余数据,加重服务器负担,拖慢数据加载的速度,极大影响SQL查询的效率。所以,要培养定期删除WordPress修订版本和自动草稿的习惯,这样才能保证我们的数据库能得到充分的清理,提高网站的执行效率和浏览速度。

为了节省数据库空间,提高博客网站速度。建议去除这个功能是有必要的。(禁用修订版本、延长自动保存时间和禁止自动草稿功能)但是怎样清理之前自动保存下来的修订版本和自动草稿功能呢? 下面为大家提供了怎样批量删除数据库中因WordPress文章修订版本、自动保存和自动草稿生成的大量占用数据库空间的冗余数据的三种方法:

注意!!!
PS:建议在操作作之前先做好数据库的备份,以免带来不必要的麻烦,同时使用此功能会影响已经置顶的文章,慎用!

方法一:执行 SQL 语句命令

执行 SQL 语句命令批量清除WordPress文章的修订版本和自动草稿生成的多余数据

展开两种方法执行 SQL 语句命令

方法1: mysql 命令行

进入 mysql 命令【 选择你所创建的数据库的命令:mysql> USE MYSQLDATA; (注:MYSQLDATA是数据库的名称。按回车键出现 Database changed 时说明选择数据库操作成功!) 】。选择好相应的数据库后,执行 SQL 命令。

方法2: phpmyadmin

通过 phpmyadmin 登录后打开数据库管理系统,找到网站对应的wordpress数据库,点击后,在上方有个 SQL 按钮,执行 SQL 命令

通过SQL命令先来看一下冗余数据(无用的自动修订、草稿等)。执行如下 SQL 命令:

-- 查看自动修订产生的冗余数据
-- 注意,请根据自己的情况,修改表名(主要是表前缀)
SELECT * FROM wp_posts WHERE post_type = 'revision';

数据库中显示内容都是一些冗余的数据,可以直接删除。删除 SQL 命令如下

-- 删除冗余数据。仅删除 wp_posts 表中的修订版本。
DELETE FROM wp_posts WHERE post_type = 'revision';
 
-- 删除自动草稿冗余数据。
DELETE FROM wp_posts WHERE post_status = 'auto-draft';
-- 删除修订版本所对应的相关联数据和自动草稿中的冗余数据。a.post_status='auto-draft'对应的是自动草稿数据
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_status='auto-draft' or a.post_type = 'revision';
PS
wp_posts 是 WordPress 的文章数据表,wp_ 是默认的前缀,如果自定义更改过,请根据实际修改即可。

方法二:添加代码

通过代码来进行批量删除WordPress文章的修订版本和自动草稿生成的数据

将下边的代码添加到到当前主题目录下 functions.php 文件(后台—》主题—》编辑—》选择模板函数),在php结束标记 ?> 前 ,然后刷新一下网页,会删除全部文章修订版本和自动草稿文章。

// 删除修订版本所对应的相关联数据和自动草稿中的冗余数据。post_status='auto-draft'对应的是自动草稿数据
$wpdb->query( "DELETE FROM $wpdb->posts WHERE post_status='auto-draft' or post_type = 'revision'" );

其实,我们只需要定期删除修订版本和自动草稿,没必要将此代码留在主题中,可以在准备清理修订版本时再加到主题中。这是不是一个让你的博客提速的小技巧呢!

方法三:优化插件

利用WordPress数据库清理优化插件 WP Clean Up 或 WP Cleaner 批量删除

可以在后台直接搜索 WP Clean Up 进行安装,或者 下载 WP Clean Up 后,解压并上传到 /wp-content/plugins/ 目录,然后在后台“插件”那里启用。

WP Clean Up 插件是一个 wordpress数据库清理优化插件,启用后“设置”→“WP Clean Up”即进入了操作界面,就可以看到插件的两个主要功能:清理数据和优化数据库。

WP Cleaner 插件的功能很简单,就是为了快速删除自动保存的文章冗余修订版和草稿的,节省空间,提高速度。界面也很简单,直接安装后,不需要设置就可以使用,WP Cleaner插件有保护机制,无论怎么操作都不会影响已发布的文章哦。