【WordPress】広告等バナーをカテゴリ毎に条件分岐して掲載する方法

【WordPress】作成者/投稿者アーカイブを作らない方法

以前に、こんな記事を書きまして。

【WordPress】記事内のmoreタグを広告等バナーに置換する方法

その記事にあるように実装していたワケですが、これ、カテゴリで条件分岐して、そのカテゴリに合ったバナーを掲載した方が良いんじゃね?と思い、ちょっと試してみました。

以下、その備忘録です。

広告等バナーをカテゴリ毎に条件分岐して掲載する方法

以下は記事内のmoreタグを置換する場合です。
functions.phpに記述します。

add_filter('the_content', 'adMoreReplace');

function adMoreReplace($contentData) {
  $_categories = get_the_category();
  foreach ($_categories as $_category) {
    if($_category->cat_name == "カテゴリA"){
      $adTags = <<< EOF
      //カテゴリAに表示させたい内容をここに記載
      EOF;
    }
    else if($_category->cat_name == "カテゴリB"){
      $adTags = <<< EOF
      //カテゴリBに表示させたい内容をここに記載
      EOF;
    }
    else{
      $adTags = <<< EOF
      //その他のカテゴリに表示させたい内容をここに記載
      EOF;
    }
    break;
  }
  $contentData = preg_replace('/<span id="more-[0-9]+"><\/span>/', $adTags, $contentData);
  $contentData = str_replace('<p></p>', '', $contentData);
  $contentData = str_replace('<p><br />', '<p>', $contentData);
  return $contentData;
}

上記の様に条件分岐させて、コメントアウト部分にGoogle AdSense等、任意のコードを記述します。

あとがき

ひとまず意図した動きをしてくれたので良かったですが、登録カテゴリが複数ある場合は、どちらを優先させるか悩みどころですね。

それについては、また記事にしたいなと思います。

  • このエントリーをはてなブックマークに追加

『naouniverse.com』では、管理人が気になるモノ・コト・セカイについて、つらつらと書いています。
ガジェット・カメラ・デザイン・プログラミング・L'Arc~en~Cielなどなど・・・