WordPress4.X取消自动保存和修订版本,让文章ID连续。

文章ID不连续的原因

WordPress的使用者可以发现,最大的文章ID要远大于文章总量,比如我博客才130篇左右的文章,而ID已经超过1300了,对于某些强迫症患者,这绝对无法忍受,造成ID不连续或者过大倍数于总文章量的原因如下:

文章的自动保存,使用WordPress的默认编辑器,在编辑过程中,每隔一段时间就会保存一次,已防止数据丢失;

文章的修订版本,每当你修改文章时都会产生修订版本,而且是每修改一次就产生一个,即使删除修订版本,原占用的ID也无法回收了;

附件占用ID,WordPress的图片附件实际是一种特殊的post,在数据表结构看出wp_posts表里,图片attachment类型和post类型共享ID号的,你嵌入多少图片就占用多少ID,这个无法改变。

WP-Config.Php配置解决方法

事实上,由于附件占用ID,没有绝对的方法可以让ID连续,但是不相差过大还是可能的。因此主要从修订版本和自动保存开刀了。

打开wordpress根目录下的wp-config.php文件,在define(\\’WP_DEBUG\\’, false);之后添加:

//自动保存10小时一次

define(\\’AUTOSAVE_INTERVAL\\’, 36000);

//取消自动修订版

define(\\’WP_POST_REVISIONS\\’,false);

为什么选择10小时自动保存一次而不是直接false,因为修改成false以后造成WordPress报错的一个bug,开启debug可以在编辑文章时看到提醒,编辑一篇文章可不会超过10小时,所以效果是一样的。

这个方法要修改WordPress的原文件,对于主题制作者,如果要添加移除自动保存和修订版本的选项,还是推荐下面的主题functions.php修改方法

主题Functions.Php修改方法

在functions.php的最后php结束标记前加上如下代码:

//移除自动保存

wp_deregister_script(\\’autosave\\’);

//移除修订版本

remove_action(\\’post_updated\\’,\\’wp_save_post_revision\\’ );

这里移除修订版本的方法不同于网上早期的方法的地方是,\\’wp_save_post_revision\\’ 挂载的钩子已经由‘pre_post_updated’变成了‘post_updated’,这个变化貌似是WordPress版本4.0之后,造成了早期的修改方法失效了,具体见WordPress原文件wp-includes/default-filters.php第265行(WordPress4.2.2版本)

WordPress4.X取消自动保存和修订版本,让文章ID连续

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/112329.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2022年10月24日 01:01
下一篇 2022年10月24日 01:01

相关推荐

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息