WordPressのパーマリンクをデータベースから一括変更したいときは、wp_postsのpost_nameをSQL分で修正すればいいらしい

WordPressでサイトを作る際、CSVで投稿データをまとめ、CSV-Importerのプラグインを使ってデータの登録をしているのだけど、投稿タイプを間違えてしまったり、なにかの記入漏れがあって、再度、CSVデータを登録すると、WordPressのURLのところに、”-2″という表示がされてしまうようになる。

これ、見た目もかっこ悪いし、同じカスタム投稿タイプとカスタム分類を使ってサイトをつくるときに、今後問題が起こりそうなのでどうにかしたいとおもっていた。

で、昨日はXOOPScubeカンファレンスのミーティングで、実は髪のきれいな女性がタイプという天才プログラマーの@hamacoさんがいたので相談したところ、WordPressのパーマリンクのURLのデータがどこにあるかで若干はまったけど、秒殺で解決してくれたのでその記録。

WordPressのパーマリンクのURLについて

1.パーマリンクのURLはwp_postsテーブルのguidではない。
2.パーマリンクのURLはwp_postsテーブルのpost_nameから動的に生成されている
3.なので、post_nameをリネームしてあげればよい

ということで、phpmyadminで下記の様にSQLを打ってあげると、”-2″を取り除くことができる。

update wp_posts set post_name = replace(post_name, "-2", "") where post_type = "drama";

ありがとう、hamacoさん!