今頃になって目一杯失敗したなと後悔している。このブログのプロジェクト「PJP」のページだ。当初は御気楽に分かりやすい方がよかろうとプラグイン別ではなく、WordPressのバージョン別にしたため、同じプラグインのページが複数できてしまうこととなった。しかも、このままWPerであり続ければますますページは増大してゆく。こりは困った。
何が困るって、そのページについたコメントの処理である。ページを統一し、スラッグを換えるのは簡単だが、コメントも一緒に消えてしまう。それでは、なんかこのサイトの歴史も消してしまうようでチョイ切ない。この問題がクリアできなければページの統一はやめようと思った。
で、この問題をクリアすることは可能か? ひろまさ師匠に聞いてみたところ、できるらしい。
wp_posts と wp_comments の関連で記事とコメントのくくりつきが実装されていて wp_commentsテーブル の comment_post_IDというカラムの値が、wp_posts の IDカラムとくっついています。
てなわけで、ページを作成して、wp_posts の ID が分かったらそれをwp_comments のくくりつけたいコメントの comment_post_ID の値を入れてあげれば OK です。
とこともなげにおっしゃる。要するに wp_postsのIDとwp_commentsのcomment_post_IDが等しければ、コメントはくくりつけられるということだ。
そこで、統一したいページのURLとIDを拾う。これは管理»ページですぐわかる。それから、該当ページについたコメントのIDを拾う。テーマにも因るが<?php comment_ID() ?>でわかるのでソースを読んでひかえる。で、統一するページのIDを覚え、commnt_IDを検索してcomment_post_IDを修正する。これを繰り返すわけだ。もちろん、この作業に入る前にデータベースのバックアップは取っておく。
修正できたらホントにコメントが移動しているか確認する。OKならそのページのコメント総数を数え、posts_IDのcomment_countを修正する。そうしないと増えたコメントはカウントされていないので数が合わないのだ。
で、とどめに.htaccessで変更前のURLから新規URLへリダイレクトするようにする。
みたいな感じだ。
これでかっこよくなる予定。(は未定) やり直しが効かないのは人生だけで十分なのである。
【参考】 データベース概要
うはーっ
ですです。そうだ wp_posts サマリ入ってたんでした。。orz
ちょうどお仕事で同じようなことやっていたのに考慮不足でした。ごめんなさい。
さすがです!
とんでもない。こちらこそ、教えていただきありがとうでした。ちょっとデータベース触るのはキモチワルイですが・・・。(苦笑)
自分で考えないと脳が腐りますからね。<これも問題発言?