WordPressの投稿IDはなぜ投稿毎の連番にならないのか?
WordPressでは投稿毎に割り当てられる投稿ID(post_id)が連番になりません!
他のCMSでは連番になるようなものもあるようですが、WordPressでは投稿IDは連番になりません。
では、どうして連番にならないのか、ざっくりと解説してきたいと思います。
そもそも投稿IDってなに?
投稿IDって行っていますけど投稿したときに割り当てられる番号を投稿IDといっています。新規作成の場合は、下書き保存するもしくは公開タイミングで自動的に割り当てあられる番号です。
一番馴染みがあるのが赤枠のところです。
DB的にいうと「<接頭詞>posts」(wp_posts)のIDを指し示しています。
wp_postsのテーブルには何が格納されるのか?
結論からすると投稿テーブルには、すべての投稿(投稿、固定ページ、カスタム投稿)、メディア、メニュー、自動保存等の投稿のすべてが含まれています。
具体的にDBで見ていきます。赤枠のpost_statusとpost_typeをあわせてみていくとわかりやすいので2つを合わせてみてください。
まず、post_typeで、post、page、wp_navigation、attachment、news、company等格納されています。
文字通り、post,page,news,companyは投稿、固定ページ、カスタム投稿の内容が含まれています。
それ以外にもwp_navigation(メニュー)、attachment(メディア)も含まれています。
4行めですが、post_statusがauto-draft、post_typeがpostとなっており、これは、投稿で自動保存された内容が保存されています。
WordPressでは自動保存されたデータもこのwp_postsに保存されています。IDも割り当てられています。
WordPressのデータは、wp_postsですべてを管理しているといってもいいぐらいかもしれません。
このように投稿に関する基本情報を全てこのテーブルで管理しているので投稿毎にIDが連番になる可能性は低いです。ならないわけではありません。
投稿IDを連続にすることはできないのか?
実際には試していませんが理論的には、自動下書きなく、添付なく、他の操作なく、連続して新規作成していけば可能かと思います。
また、インポートツールを利用して一括インポートしたときは連番になるかと思います。
まとめ:WordPressの投稿IDは連番にならない理由
WordPressでは投稿に関するデータを1つのテーブルで管理(投稿、メディア、自動保存)を行っているため、投稿毎にIDが連番になる可能性は低い。