前言
在使用一段时间WordPress后,我发现我网站文章才200多编,文章ID确飙升到2000多了,看着这个ID感觉就不自在,到了以后文章越来越多,文章ID岂不得有六七位数了,在网上找了找解决方法,今天记录下来,以后可能还需要用到
文章ID不连续的原因
1、文章的自动保存、修订版本
我们在后台写文章的时候,每写一编文章它都会隔一段时间自动保存,以免文章数据丢失,但是,当它每保存一次文章的时候,它都会自动生成一个文章ID,致使占用了文章ID
当我们在进行文章修改的时候,每修改一次,系统就会自动生成一个修订版本,这个修订版本又会自动生成一个文章ID,所以这里又占用了一个文章ID,致使文章ID数值又增大了,上一编文章的ID可能是100,经过多次文章自动保存、修改后,等你正式发布这编文章的时候,这个文章ID可能就变成120或130或者150了,就算你删除了这些修订版本的文章,那些ID还是被占用了。
2、菜单、附件、页面占用ID
WordPress的附件、导航菜单项和页面都是比较特殊的post,而且都会占用一个post的ID,在wp_posts表的数据表结构里面可以看出post类型种类(详细介绍WordPress数据库表wp_posts),这个无法改变。
文章跳ID的解决办法
我们现在知道了导致wordpress文章ID不连续的原因后,就可以从文章自动保存、修订版本、菜单、附件、页面等方面进行优化设置了
1、禁用文章自动保存
自动保存功能还是有一些好处的,它会每隔一小段时间自动保存你正在编辑的内容,比如当你正在编辑文章时,突然停电了,自动保存功能就会把你之前编辑的内容自动保存在系统里,让你不致于花了半小时辛苦编辑的文章付诸东流,但是,它的缺点就是每自动保存一次它就会自动生成一个文章ID,保存的次数越多,占用的文章ID就越多,这就是导致文章ID不连续的原因之一
禁用这个功能的话,我们就需要在文件路径:wp-admin/post-new.php和wp-admin/post.php这两个文件中注释掉以下这一行:
wp_enqueue_script('autosave');
或者在当前主题的functions.php中添加以下代码:
2、禁用和删除文章修订版
在根目录中找到文件wp-config.php添加下面代码:
define('WP_POST_REVISIONS',false);
或者在当前主题functions.php文件中添加下面的代码:
文章修订版禁用之后,其实数据库中之前的修订版文章还是完好无损的保存在数据库中,我们可以把这些修订版文章删除,这些修订版文章其实对我们来说已经用处不大了,而且还占着茅坑,我们现在可以把它删除,
在phpmyadmin 中执行以下SQL语句(修改数据库前请一定要备份数据):
3、附件、图片占用文章ID问题
我们在发布文章的过程中上传图片、附件等媒体文件时,这些文件时也是会占用文章id的,这些id都和文章id一起保存在同一数据库表wp_posts里面。
所以如果你特别追求文章的ID一定要完美无缺地连续,请不要在发布文章的时候上传/插入这些媒体,只有从ftp直接上传的文件,才不会占用id。追求id连续的朋友建议上传文件和图片都从ftp直接上传,然后文章编辑的时候直接进行插入这些文件即可。
4、导航菜单项和页面占用id
WordPress的导航菜单也会占用文章ID,但一个网站的导航菜单也就那么几个,占用也就那么几个
WordPress的页面也会占用文章ID,但这个也没办法,除非你不发布页面
最后总结一下:在主题的functions.php文件中加入下面的代码,只要以后只发文章,不发页面,不再新加菜单,不上传附件、图片等内容的话,以后你的文章ID基本是连续的,就算不连续数值也相差不会太大,也不会改变你之前发布的文章ID也不会影响SEO
请登录后查看评论内容