关于 WordPress 中文章的修订版本(revisions)

发布于 2018-07-26 21:57:59 字数 1920 浏览 2651 评论 0

revision 即修订版,在 WordPress 中每修改一次文章后都会保存一个修订版。像关于这个页面可能都会去反复修改,这样会自动保存很多个修订版,修订版和普通文章一样,存储在数据的wp_posts 表中,编号也会自增,这也是导致发表后的文章编号不连续的原因。

为何要有修订版?

修订版的好处就在于你可以随时还原到未修改前的状态,但是意义又不是简单的还原。我们在日常处理文档的时候通常会有一个修订版本号,它可以随着项目版本递增,可以随着新的需求递增。它是对已经成形的内容进行重新修订,经过修订后的内容,称为修订版。WordPress 中一篇文章可以被多个用户修改,保存各自的修订版,便于查阅。

那么对于普通用户并不需要那么多修订版,即使要修改也是在当前发布的版本中修改,很少去翻阅历史修订版。那么如何去删除修订版或者是减少修订版将是本文章的重点。

插件删除

这种是最简单,安装 delete-revision 插件,这个很方便,具体参见链接的截图。

数据库手动删除

网上很多文章都是直接删除 post_type 为 revision 的文章,代码如下:

DELETE FROM wp_posts WHERE post_type = "revision";

这样确实是删除了修订版,但删的不够干净。具体可以看到这张图,这是 WordPress 2.7+ 数据库关系图,可以在官网找到。

可以发现文章的 ID 编号关联着文章的附加信息 wp_postmeta 和留言 wp_comments 以及分类 wp_term_relationships。当然处于未发布状态的文章是不可能有留言的,所以 wp_comments 表可以不考虑。如果只删除 wp_posts 表中的东西,那么其余两个表中将还有残留的无用信息。因此应该这样删,代码如下

DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type = "revision");
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type="revision");
DELETE FROM wp_posts WHERE post_type = "revision";

是不是觉得很麻烦,其实可以不去关注这些细节,现在的主机数据库一般都很大,完全够用。那又不想要这么多修订版怎么办呢?参见下面的方法。

设置修订版数量

WordPress 中可以设置版本保存的数量,只是没在后台体现出来,需要修改 wp-config.php 文件添加

define('WP_POST_REVISIONS', 3);

这样就可以指定只保存三份修订版,旧的会自动替换。这里不推荐全部关闭,免得后悔都没机会。dorole 就是这样设置的。

参考文档

http://codex.wordpress.org/Database_Description
http://codex.wordpress.org/Revision_Management

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

qq_Yqvrrd

文章 0 评论 0

2503248646

文章 0 评论 0

浮生未歇

文章 0 评论 0

养猫人

文章 0 评论 0

第七度阳光i

文章 0 评论 0

新雨望断虹

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文