Tutoriel WordPress

完美解决WordPress文章ID不连续问题- 亲测有效

对于WordPress网站文章ID不连续的问题困扰了我很久今天将WordPress文章ID不连续的原因和具体解决办法做详细的说明

WordPress文章ID不连续的原因

用WordPress做网站的站长可能会发现最大的文章ID要远大于文章总量比如品自行博客现在文章才350篇的文章但ID已经超过5000了对于有些强迫症的我确实有些无法忍受其实WordPress文章ID不连续主要有以下原因

1、文章的自动保存修订版本

在WordPress后台写文章的时候每隔一段时间系统会自动保存一下文章以防止数据丢失保存一次生成一个id
我们对文章进行修改的时候修改一次生成一个修订版对应一个修订版文章id即使删除修订版本原占用的ID也无法回收了

2、附件菜单页面占用ID

WordPress的附件导航菜单项和页面都是比较特殊的post而且都会占用一个post的id在wp_posts表的数据表结构里面可以看出post类型种类(详细介绍WordPress数据库表wp_posts)这个无法改变

WordPress文章ID不连续的解决办法

了解了WordPress文章id不连续的原因以后我们自然就明白由于附件导航菜单和页面占用ID理论上是没有绝对的方法可以让文章ID连续的但是不相差过大还是可能的这个也只能从文章自动保存和文章修订版本进行设置了

un、禁用文章修订版

所谓的文章修订版就是你每次修改一次文章它都会自动帮你保存修改之前的文章版本专业术语叫做版本控制这样保证了在误修改的情况下可以还原之前的内容这个在维基文档的维护方面是有很大帮助的但是作为我们的小博客似乎没多大用处而且这个修订版在数据库中是占据一个ID的这也是导致文章ID不连续的问题之一要想禁用文章修订版可以在 wp-config.php文件中添加:


define('WP_POST_REVISIONS', false);

也可以在当前主题的functions.php添加以下PHP代码

// 禁用修订版本,2015年3月5日更新
add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
function specs_wp_revisions_to_keep( $num, $post ) {
   if ( 'post_type' == $post->post_type )
      $num = 0;

   return $num;
}

删除文章修订版

禁用了文章修订版之后数据库中还是保存着之前已经创建的文章修订版这些其实已经没多大用处而且占着ID我们可以将它删除至于怎么删除可以在 phpmyadmin 中执行以下SQL语句(会影响置顶文章慎用!并做好备份)

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';

删除不必要的附件

相信很多博友在发布文章都会同时上传/插入一些附件如图像、vidéo、音乐等这些附件可以在WordPress管理后台媒体库中看到不同媒体对应了不同的文章可是你要注意的是这些媒体也是占据着文章ID的它们与文章都保存在同一个数据库表wp_posts中如果你特别追求文章的ID一定要完美无缺地连续请不要在发布文章的时候上传/插入这些媒体并请在WordPress管理后台媒体库中删除之前上传的媒体(注意这个操作不只是删除记录而且会删除你上传的文件)需要的话请用FTP重新上传这些文件

禁用自动保存

自动保存的好处是你在编辑文章的时候每隔一小段时间系统会自动帮你保存编辑的文章防止网页突然关闭导致之前写的几千字哗啦一下全没了缺点是每篇都文章都会有一个自动保存的记录同样占据一个文章ID也是文章ID不连续的原因之一如果你不需要这个功能可以在当前主题的functions.php中添加以下代码


// 禁用自动保存,所以编辑长文章前请注意手动保存。 
add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );

重新排列不连续的文章ID

方法一可在当前主题的functions.php中加入以下PHP代码这样如果你只是单纯发文章不发页面不添加菜单不上传媒体的话基本上此后的文章ID是连续的而且不改变之前已经发布的文章ID不影响SEO登录后复制

À propos Département éditorial

la rédaction de kuajinggu est une équipe d’experts WordPress,Dirigé par Dylan,dans WordPress、hôte virtuel、commerce électronique、Plus de 10 ans d'expérience en référencement et marketing。Kuajinggu a été créé en 2014 Année,Actuellement le plus grand site Web de ressources WordPress gratuites du secteur,Souvent appelé Wikipédia de WordPress。