このエントリーをはてなブックマークに追加 Twitterでツイート 特定の投稿ページのみ、何か処理をする場合

WordPressを使ってサイト構築をしていると、特定の投稿ページでのみ何か処理をさせたい時があります。テーマのsingle.phpをカスタマイズするわけですが、IDやファイル名による「投稿ページ」の識別はif文の羅列になりそうで、あまりシンプルではありません。そんなことを考えながら、とりあえず行き着いたカスタムフィールドを利用した方法を紹介いたします。

具体的には、何か処理をしたい投稿ページのカスタムフィールドに決めておいた任意の「名前」とその「値」としてローカル関数名を登録し、single.phpの冒頭にてget_post_meta関数を呼び出してローカル関数名を取得。その関数が登録済みであるかをfunction_exists関数(クラス内ならmethod_exists関数)を調べ、登録済みならば呼び出すという仕組みです。
この仕組みなら、single.php内で特定の処理を行うための記述もシンプルで、前処理だけでなく、任意の場所に特定のHTMLコードを出力するような場合にも利用できます。また、ほかの投稿ページで同じ処理を行う際も、カスタムフィールドに登録するだけなので簡単だと思います。

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