・・・はこの世には無いんだと思った。パーマリンクなんて、恒久・不変を意味する「パーマネント」(permanent)と「リンク」(link)が掛け合わされたものだというが、あっけなくそんなものは崩れ去る。
メディアライブラリーのattachment問題。画像1つにつき1つのIDを当てられるのでどんどんpost_idが増える罠。普通に投稿すれば、記事のpost_idの次に画像のpost_idが割り振られるのだろうけど、今のまま訂正してゆくと記事のpost_idと画像のpost_idが激しく離れてしまう。たぶん、カオス状態になる。逆に一からSQLデータをやり直すと今のパーマリンク構造(/年/月/post_id/)からリンクが合致せず、パーマリンクの意味を失う。オマケに画像は現在Liteboxを適用中なのでrell属性も付加しなければならない。
1つ1つ解決してゆこう。
- やはり1からやり直して、記事と画像のpost_idを離さないようにする。後々わかりやすくするためだ。
- どうせ狂うのだから、パーマリンクは「月と投稿名」に変更して今後IDの影響を受けないようにし、「Permalink Redirect」プラグインを使って解決する。
- 現在のLiteboxはテーマに埋め込んでいるが、コレをプラグインにしてrell属性もプラグインかmy-hacks.phpで補う。
- ついでにタグの見直しも行う。
実際の手間は無視しても方法だけは確立できたように思う。えーっと….100記事/日こなして1ヶ月・・・。もうここで萎えそうなんですけど・・・。
# 当然、comments_idも狂うわな・・・
コメント
本当にWPのパーマリンクには困りますよね。
画像のアップロードのほかにもリビジョンが保存されるたびに番号が飛びます。
なので私は記事名にして毎回記事を書くたびに自分で番号を入れています。
あとPermalink Redirectは便利ですが、ページのナビゲーションリンクでループされるバグがあります。(とりあえず私の環境では)
わたしも、これをおすすめします。post_name に、その記事に対する (従来の) post ID を入れてしまえば、post ID を変更して、かつ、パーマリンク体系を /%year%/%monthnum%/%day%/%post_name% に変更しても、完全に互換性が取れます。プラグインは必要ありません。
Taichiさん、ゆりこさん、ありがとうございます。
みなさん、頭いい!(凹みそう)
この記事を書いてから、記事修正して /年/月/post_id/ が狂って、リダイレクトプラグイン使ったら元の記事にリンクできないんじゃないの?って思ったのは秘密にしておきます。
これで完全に今の体系を維持しつつ修正できることがわかりました。あとは作業だけですね・・・。orz