このエントリーをはてなブックマークに追加 Twitterでツイート 投稿実態がなくても表示できるけど。

WordPressは投稿データを表示するのが一般的ですよね。ほとんどの投稿データは、タイトル、本文、抜粋があり、それにカテゴリーやタグを付与し、それで足りなければカスタムフィールドで追加するわけですが、カスタムフィールドが多くなるといろいろな効率が悪くなるような気がします(カスタムフィールドを検索しようとすると、ちょっと面倒だったりしますし)。そんなわけで、WordPressが管理する投稿データがなくてもページを表示できないかと、考えてみました。

結論としては、単に表示するだけなら、.htaccessでWordPressのindex.phpへ振り分け、使用するテーマのfunctions.phpなどでadd_action関数を使い、template_redirect関数をで調整する手法を使うことで、投稿データがなくても大丈夫みたいです。投稿データのないページをテーマのどのファイルで処理するかは検討しないといけないわけですが、こんな一見無茶っぽいことも簡単に対応できるのがWordPressのすごいところ。いつもですが、柔軟なシステムデザインだと感心しています。

さて、当初の目的は達成できたのですが、そういったページについてコメント投稿を対応しようとすると自体は一変。WordPressのコメント管理は当然のことながら、投稿データと密接な関係があり、例えば投稿データを削除すると関連するコメントも削除されます。整合性を保たなければならないのだから当然のことなのですが。安易にコメントデータの投稿IDをごまかすような方法だと、コメントのモデレート対応はかなり面倒になりそうです。

そんなわけで、独自データの登録時にwp_insert_post関数を使って投稿データを作り、その投稿データに対してコメント対応することにしました。独自データと投稿データの同期はちょっと工夫が必要ですが、このほうが開発工数は少なくて済みそうですね。

投稿日:2010年3月19日
  • ※コメントは、スパム対策などのためIPアドレスにて制限しております。
  • ※誹謗や中傷、スパムなど、不適切な内容は公開いたしません。ご了承ください。