(转自久伴博客)文章ID不连续是很多“强迫症”博主的烦恼,尤其是使用了文章ID作为固定连接之后,每篇文章的ID并不连续,非常不好。 从原因来看,文章ID不连续主要是因为自动保存的文章、媒体、页面和其它文章类型占用了ID导致的,网上的解决方法一般是强制的禁止自动草稿、不在媒体库上传媒体、不建立页面等等,但这种方法会导致使用上的不便利,而且很有局限性。 解决方案 本文说的方法也是治标不治本,但却能比较好的解决链接上的ID不连续这个问题。这个方法就是利用别名,自动给文章设置一个别名,别名按顺序递增,然后把固定连接设置成别名。 批量设置 首先,如果你之前已经有文章了,需要根据顺序重新排列,设置一下别名,从1开始递增。批量设置别名可以把下边的代码添加到functions。php里边: functionBingpostidcontinuousquery(){ settimelimit(0); removeaction(,B); queryposts(postsperpage1); arrarray(); while(haveposts()){ thepost(); postidGLOBALS〔〕ID; arr〔〕 } wpresetquery(); arrarrayreverse(arr); i1; foreach(arraspostid){ wpupdatepost(array( IDpostid, i )); } } if(GET〔〕currentusercan(level10))addaction(,B); 然后访问下边的地址,注意替换成你的域名(访问时需以管理员身份登录): https:jiub。ren?postidcontinuousqueryyes 文章多的话网页加载会很慢,耐心等待加载完,加载好后,别名也就批量设置好了。 注意:此代码用完之后不用删除,留着之后有可能还需要用。 新文章自动设置 老文章设置好了,接下来就要给新文章自动设置别名了,只需要把下边的代码添加到主题的functions。php即可: functionBingpostidcontinuous(id,post,update){ if(poststatus!) ; B; removeaction(action,func,10); wpupdatepost(array( IDid, wpcountposts()publish1 )); addaction(action,func,10,3); } addaction(,B,10,3); 添加好后,每发布一篇文章,别名都会自动设置成当前发布文章的数量加1。 提示 如果因为删除、更新或者其它原因导致文章的“ID”不连续了,可以使用上边的那个批量设置的代码重新归位。 WordPress文章ID连续及ID重新排列的方法