真正解决WordPress文章ID连续的方法(需手动)

2017-06-07 07:30 阅读 99 次 评论 20 条

众所周知,WordPress 发布的文章、页面会占用 ID,上传的图片/附件也会占用 ID,甚至修改文章/页面也会占用 ID,所以这一切都是导致 WordPress 文章 ID 不连续的罪魁祸首,今天 boke112 就整理网上的一些教程,让有“强迫症”的博主站长们能够真正实现 WordPress 文章 ID 连续。

真正解决WordPress文章ID连续的方法(需手动) WordPress 第1张

情况一:少量页面大量文章的做法

如果你的站点大多数都是文章,页面很少(PS:所占用的 ID 可忽略),并且站点所使用的图片/附件都不是通过 WordPress 后台上传的(PS:通过 FTP 直接上传到后台指定文件夹,或在其他存储空间直接上传,比如七牛),那么建议采用本方法,那就是:禁用 WordPress 的修订版本,并修改自动保存的时间。(PS:据说直接取消自动保存功能好像不太起作用,所以建议直接修改自动保存时间比较好)

打开 WordPress 根目录下的 wp-config.php 文件,在 define('WP_DEBUG', false); 之后添加以下代码:

  1. //自动保存10小时一次
  2. define('AUTOSAVE_INTERVAL', 36000);
  3. //禁用修订版本
  4. define('WP_POST_REVISIONS',false);

其中 10 小时可以自行修改,一般编辑一篇文章应该不会用到 10 个小时,比如平时 boke112 都是用 word 写好文章后再粘贴到 WordPress 后台来发布文章,所以我只需要设置 1 个小时保存一次就够了,因为我一般发布一篇文章绝不会超过 1 个小时。

情况二:文章页面很多而且后台上传图片附件

PS:为了节省数据库空间,建议也禁用修订版本和延长自动保存时间,方法同情况一。

其实只要不是经常建立新的页面,那么页面所占用的 ID 其实都可以忽略不计,关键还是后台上传图片/附件所占用的 ID,这个倒是比较多。所以情况一的方法就不太实用了,此时,我们就必须使用张戈博主提出的这种方法(详见《WordPress强迫症技巧:让文章(ID)地址完美连续(障眼法)》)来实现,具体方法如下:

1、替换旧文章(现在数据库里面的文章)的别名为文章 ID,具体做法如下:

方法1:进入 mysql 命令或者 phpmyadmin 的 SQL,执行如下命令修改即可:

  1. update wp_posts set post_name=ID where post_status='publish' and post_type='post';

Ps:wp_posts 是 WordPress 的文章数据表,wp_ 是默认的前缀,如果自定义更改过,请根据实际修改即可。

方法2:使用以下 PHP 代码修改:

  1. <?php
  2. /**
  3. * 将所以已发布的文章别名修改成对应ID,让文章以别名完美连续 By 张戈博客
  4. *
  5. * 文章地址:http://zhangge.net/5008.html
  6. *
  7. * Ps:备份网站数据库后,请放到WordPress根目录执行,成功后请记得删除!
  8. **/
  9. require('./wp-blog-header.php');
  10. global $wpdb;
  11. $wpdb->query("UPDATE $wpdb->posts SET post_name = ID WHERE post_status = 'publish' AND post_type = 'post'");
  12. echo 'Update Success!';
  13. ?>

将以上代码保存为 php 文件,比如 uppostname.php,并上传到网站根目录,执行即可,成功后记得删除!

Ps:所有设置数据库的操作务必记得先备份,避免因失误带来无法挽回的损失。

2、更改固定连接设置,将自定义结构中的 /%post_id%.html 更改为 /%postname%.html。

3、新文章手动修改别名:后续编写文章的时候,只需要手动将文章别名设置为与上文连续的数字即可让文章 ID 完美连续。(PS:这个方法唯一不好的一点就是编辑文章的时候需要先查看上一篇文章的 ID 是多少,然后才能正确修改当前编辑文章的别名以使它完美连续)

小结

其实如果“强迫症”不是很严重的,个人建议采用情况一的方法会比较简单,boke112导航目前采用的也是这种方法。如果想要文章 ID 十分完美地连续下去,只能采用情况二的方法了,缺点就是需要人工修改别名,不过连文章都写了,应该也不在乎再修改一个文章别名吧。

思路拓展

后续编写的文章别名,是否可以直接设置为当前文章数自动+1,或者设置一个指定数比如 2000,然后以后发布的文章别名都自动+1,这样一来就不用每次都手动修改别名了?有想要研究的博主站长,可以参考这篇文章《WordPress 最终完美解决文章 固定链接ID 不连续的问题方案》,boke112 懒得去研究和验证了,如果有人研究出来并且切实可行的,欢迎投稿哦。

拓展阅读

本文地址:http://boke112.com/3986.html
文章标签: ,   ,  
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
版权声明:本文为原创文章,版权归  所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana

发表评论


表情

  1. 94微信红包活动网
    94微信红包活动网 【队长】 @回复

    可以可以,去试试

  2. 花卉说
    花卉说 【农民】 @回复

    还是算了吧,好好的程序不值得这样折腾,折腾以后操作会很麻烦

  3. 小萝博客
    小萝博客 【县长】 @回复

    我采用的是最笨的办法

  4. BanYuner
    BanYuner 【镇长】 @回复

    之前还有这样的强迫症,但是后来发现,其实也没有必要去修改,现在修改好了,以后万一其中断开了一个数字,你更加会有强迫症去修改,既然如此又何必去修改呢

  5. 小苍老师
    小苍老师 【县长】 @回复

    ID连续不连续,估计处女座的咖们会比较计较!

  6. 雅兮网
    雅兮网 【省长】 @回复

    其实还是认为直接从文章中上传图片才是最合适的操作习惯,但是WordPress在这块做的很差,图片占用ID不说,还会在数据库中写入那么多没用的信息;要知道那个附件的页面,没用用户去关注的,非常不科学,没有存在的价值。

    • boke112导航
      boke112导航【站长】2017-06-07 22:45  回复

      @雅兮网是的,这个从文章中上传图片非常符合操作要求,可惜WordPress这个设置确实很郁闷,感觉这个上传图片还占用ID不合理,不知道是否有人前去提出建议。

  7. JV
    JV 【村长】 @回复

    其实我觉得没必要动这些东西,访客根本不会管你的id连不连续。

    • boke112导航
      boke112导航【站长】2017-06-07 22:49  回复

      @JV是的,用户和搜索引擎应该都不会关注ID是否连续,所以真的没必要太过在意

  8. 彩票自助机
    彩票自助机 【县长】 @回复

    建议能不能写一个关于服务器配置网站的文章呢 [嘻嘻]

    • boke112导航
      boke112导航【站长】2017-06-07 11:25  回复

      @彩票自助机[思考] 我也不擅长服务器配置,我的服务器还是找人配置的,下次看到有好的服务器配置访问再转载,也欢迎大家投稿过来 [偷笑]

  9. 夏日博客
    夏日博客 【县长】 @回复

    使用以前的方法依然有效,WP不连续ID对于国内用户来说就是一个BUG。

    • boke112导航
      boke112导航【站长】2017-06-07 11:27  回复

      @夏日博客其实只要不是在后台上传图片附件之类的,延长自动保存时间和禁用修订版本,一般都没问题

  10. 企业战略
    企业战略 【镇长】 @回复

    非常实用,觉得懂技术是一件很牛的事情

  11. 灵异世界网
    灵异世界网 【县长】 @回复

    习惯就好。

  12. 靠谱学生兼职网
    靠谱学生兼职网 【市长】 @回复

    这方面ZB就不用这么麻烦

  13. 爱时尚
    爱时尚 【省长】 @回复

    幸好我没有这强迫症

  14. 深圳电脑维修
    深圳电脑维修 【市长】 @回复

    WordPress文章ID连续方法不错