在比较新的WordPress版本中有个烦人的问题,就是文章使用固定链接ID会出现凌乱不连续的现象。比如首篇日志ID是1.html,第二篇日志的ID可能很可能是5.html、9.html、11.html…总之是不连续。就像本站,初建10篇文章不到却排到100.html。虽然并不影响阅读,但博主看着总觉得别扭。
网上查到的方法不少,但总的来说无非两种:手动修改代码和利用插件。手动修改源代码有个缺点就是以后WordPress版本升级后又要重新修改,而插件太多则影响博客速度。并且,通过博主一下午的实践发现,网上所述并不能很好的兼顾解决Auto Save与Post Revisions引起的日志ID不连续与数据库大量的垃圾信息问题。现将博主解决WordPress文章ID凌乱不连续方法分享如下:
1、修改根目录下wp-config.php文件,在适当位置增加如下语句(博主偏爱直接增加在底部):
/** 禁用文章修订版/版本控制及自动保存功能。 */
define(‘WP_POST_REVISIONS’, false);
define(‘AUTOSAVE_INTERVAL’, false);
2、在WordPress管理后台搜索安装插件Disable Autosave和Disable Revisions;
3、登录Cpanel后台数据库,打开phpMYadmin,选择相应数据库名,运行SQL脚本如下:
delete from wp_posts where post_type = ‘revision’;
此操作目的是为了删除数据库中Post Revisions产生的垃圾信息;
4、如需要重新修改日志ID,则运行SQL脚本如下:
update wp_posts set id = B where id = A;
update wp_term_relationships set object_id = B where object_id = A;
update wp_postmeta set post_id = B where post_id = A;
update wp_comments set comment_post_ID = B where comment_post_ID = A;
以上脚本是将A日志的ID修改为B。此法会导致已收录网页出现404错误,请慎重操作!
5、日志ID修改完全后,需重设新建日志的起始ID。进入数据库 执行,
ALTER TABLE wp_posts auto_increment=number ;
将number值设定为改前最后日志ID+1。如本站改前最后一篇日志ID为18,则新建文章从19开始;
6、即便如此,新建日志后仍会在数据库看到“自动草稿”的僵尸记录(无端占据一个ID)导致日志ID不连续。安装“禁用WordPress自动保存的插件”,在WordPress后台启用此插件。
7、因为WordPress默认上传图片、音乐等媒体文件也要占用ID,因此,编辑文章时不要用后台的上传或插入功能,所需图片直接FTP工具上传,然后通过HTML代码直接编辑;
8、通过以上方法,WordPress发表日志ID就可以连续了。具体可参看本站日志。