• 本站搬迁至Linode机房,购买Linode 1G机型仅需$10/月,点此访问官网
  • 百度口碑求好评,http://koubei.baidu.com/s/www.zhiyanblog.com
  •    8个月前 (05-17)  WordPress |   24 条评论  1136 
    文章评分 12 次,平均分 4.5

    文章ID不连续的原因

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

    1. 文章的自动保存,使用WordPress的默认编辑器,在编辑过程中,每隔一段时间就会保存一次,已防止数据丢失;
    2. 文章的修订版本,每当你修改文章时都会产生修订版本,而且是每修改一次就产生一个,即使删除修订版本,原占用的ID也无法回收了;
    3. 附件占用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版本)

     

    除特别注明外,本站所有文章均为知言的自留地原创,转载请注明出处来自http://www.zhiyanblog.com/wordpress-4-x-continuous-posts-id.html

    关于
    知言博客是由WordPress业余爱好者zhiyan建立的WordPress以及WEB资源站,集WordPress教程、主题、插件以及众多前端素材、代码等其他内容于一体,努力为相关用户提供帮助。

    发表评论

    表情 格式

    1. 主题堪称完美,32个赞

      yutaok 评论达人 LV.5 4周前 (12-03) [0] [0]
    2. 来转转

      佛山铝门厂 评论达人 LV.1 1个月前 (11-28) [0] [0]
    3. 学习了 :smile:

      佛山不锈钢管厂家 评论达人 LV.1 1个月前 (11-28) [0] [0]
    4. 收了

      qkwu 评论达人 LV.5 2个月前 (11-12) [0] [0]
    5. 1 2
    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册

    扫一扫二维码分享