WPのpost_idをDBを操作してリセットする方法

カテゴリー:WordPress

どーも、2ヶ月連続で38度の熱が発生してるMaMoTaKuでーす
今回は、WordPressのpost_idをリセットする方法を覚えたので、
覚書として、残しておきたいと思います。
(今後もこれ、MaMoTaKuはよく使う気がするし、、、)

こんな場面で必要になると思う

WordPressを設置して、テストで記事などを作り作業が完了したらテスト記事は削除しますよね?
ただ記事を削除するだけだと、post_idはリセットされません。
なので、パーマリンクでpost_idを使っていると、クライアントさんが初めて記事を更新した時に
「5.html」などになったりすることがあります。
これが、MaMoTaKu的にはどうしても許せないので、リセットしたいと思います。

MySQLを操作するだけでできちゃう!

え、MySQLをいじらなきゃいけないの?
それはちょっと、、、
って抵抗のある方、MaMoTaKuもすごく同感です。
正直SQLはまだ理解してないので、あまりやりたくないのですが、
今回はどうしても許せない部分なので、やっちゃおうと思います。
post_idはMySQLのAUTO_INCREMENTというので管理されているそうです。
なので、この数値を1 にすれば良いいんです。

手順1、MySQLにログインし

wp_postsに移動します。
※「wp」を任意で変更している人は変更しているものに合わせてください。
そんで、登録してある記事を全て削除します。
削除方法は、タブバーの中にある「操作」に移動し、
右下の方にある「テーブルを空にする(TRUNCATE)」を選択するだけです。
間違っても下にある「テーブルを削除する(DROP)」は選択しないでください!!
(wpの管理画面から削除しても大丈夫です、重要なのは記事が全て削除されていることです!)

手順2、カスタムフィールドを使っている場合

カスタムフィールドを使っている場合は、
wp_postmetaも空にする必要があります。
※こちらも「wp」を変更している方は合わせてください。
また、空にする方法も上記と同じように
操作からテーブルを空にするを行ってください。
これを行わないと、新しく記事を登録した時に、
あれ?なんで前登録した内容が表示されちゃうの?
って慌てることになるかもしれません笑
※別にMaMoTaKuがそうなったわけじゃないんだからね!
※ほんとだからね!
※大事なことなので何度でも言います。

手順3、post_idをリセットする

ここからが大本命です。
今回の目的であるpost_idのリセット方法ですが、
結論から言いますと
wp_postsの中にある「AUTO_INCREMENT」を1にするだけでいいそうです!
なのでwp_postsに移動したら、タブバーの中にある「SQL」より
「ALTER TABLE wp_posts AUTO_INCREMENT = 1;」を実行します。
これだけです。
※念のためもう一度書きます、「wp」を自分のDBに合わせましょう。

また、新しい記事を投稿するたびにpost_idの数値がとびとびに増加することがありますが、
これはWPのリビジョン機能と自動保存機能によるものなのでこの二つを止めてしまえばOKです。
それぞれを停止したい場合はプラグインがあるので、グーグル先生に質問をしてみてください!

注意

post_idをリセットさせるのは記事がまっさらな状態の時にしてください。運用しているブログで行うと記事を上書きしてしまう恐れがあります。自己責任でお願いします。

以上です!