WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

为什么WordPress文章ID不连续?

查看 WP集市 的更多文章WP集市 2025-08-21 【WordPress教程】 1618人已围观

最近老有朋友问我:“哥,我WordPress发文章,ID咋老不连着?刚发了篇ID=5的,下一篇直接蹦到7,中间那个6跑哪儿去了?数据库是不是出问题了?”

害,这问题我刚用WordPress时也懵过,当时还以为是自己操作失误删了文章,查半天数据库日志,结果发现——ID跳号太正常了!跟bug没关系,全是你(或者WordPress)“偷偷”占用了ID。今天咱就用大白话聊聊,那些让文章ID“失踪”的坑,看完你就懂了。

第一个“凶手”:草稿和修订版——你以为没发,其实ID早被占了

你写文章时,是不是经常点“保存草稿”?或者WordPress自动给你存草稿?(对,就是编辑器顶上那个“已自动保存”)

注意了!草稿也是条正经记录。WordPress的文章、草稿、页面、图片……本质上都存在同一个数据库表wp_posts里,靠post_type字段区分。草稿的post_typedraft,只要你点了“保存草稿”,数据库就会给这条草稿分配一个ID,而且这ID是“泼出去的水”——就算你后来删了草稿,这ID也不会回收,下次发新文章只能用下一个号。

更坑的是“修订版”(revision)。你改文章时,WordPress会自动存修订版(比如改了标题、内容),每个修订版也是一条post_type=revision的记录,照样占ID!比如你发了ID=5的文章,改了3次,可能就多了ID=6、8、9的修订版,下次发新文章直接ID=10,中间跳一堆号。

举个栗子:

  • 写文章A,点“保存草稿”→ ID=5(draft)
  • 改了改,自动存修订版→ ID=6(revision)
  • 觉得写得烂,删了草稿→ ID=5、6的记录没了,但ID已经用到6了
  • 重新写文章B,发布→ 数据库一看“上次用到6,这次用7”,所以文章B的ID=7

懂了吧?草稿和修订版就是“隐形ID小偷”!

第二个“凶手”:附件、页面、菜单——不止文章会占ID

你以为只有文章和草稿占ID?太天真了!WordPress里,这些东西都会抢ID:

  • 附件(图片、文档):上传一张图片当封面,这张图片会被存为post_type=attachment,占一个ID;
  • 页面(Page):新建“关于我们”页面,页面的post_type=page,占一个ID;
  • 导航菜单:在后台加个菜单项(比如“首页”“分类”),菜单项是post_type=nav_menu_item,也占ID!

我见过最夸张的案例:一个用户发了ID=10的文章,然后上传了5张图片(ID=11-15),建了2个页面(ID=16-17),加了3个菜单项(ID=18-20),再发文章直接ID=21,中间跳了11个号,还以为网站被黑了……

不信?教你查!打开phpMyAdmin(数据库管理工具),找到wp_posts表,执行这条SQL:

SELECT ID, post_type, post_title FROM wp_posts ORDER BY ID DESC LIMIT 20;

你会看到最近20条记录,ID对应的post_type可能是post(文章)、attachment(附件)、page(页面)……一目了然,哪个ID被谁占了,清清楚楚!

第三个“凶手”:数据库自增机制——ID“泼出去就收不回”

就算你啥也没干,纯发文章,偶尔也可能跳ID。这锅得甩给MySQL的“自增主键”机制。

wp_posts表的ID字段是主键,而且开了“自增”(AUTO_INCREMENT),意思是“每次插新记录,ID自动+1”。但自增有个“霸道”规则:只要尝试插记录(哪怕没成功),ID就会+1,不会回滚

比如你发文章时,网络突然断了,WordPress尝试插入ID=8的记录,但没成功(事务回滚),这时候ID已经自增到9了,下次成功发布就是ID=9,ID=8就“失踪”了。不过这种情况很少见,主要还是前两种原因。

总结:ID跳号不用管,内容才是王道

说白了,WordPress的ID就是个“流水号”,只要能唯一标识文章就行,连不连续根本不影响使用。你要是强迫症,非想让文章ID连续,也行——禁用修订版(装插件“Disable Post Revision”)、少存草稿、别随便上传附件/建页面……但何必呢?内容做好了,谁在乎ID是5还是7啊!

最后再教个小技巧:如果想知道某篇文章的ID,直接编辑文章,看浏览器地址栏,post=xxx里的xxx就是ID,比如post=123,ID就是123。

行了,ID跳号的事儿讲完了,别再纠结了,赶紧去写文章吧!有这功夫,多涨俩粉不香吗?

Tags:

WordPress模板插件定制