2015/12/16
【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等、任意のコードを記述します。
あとがき
ひとまず意図した動きをしてくれたので良かったですが、登録カテゴリが複数ある場合は、どちらを優先させるか悩みどころですね。
それについては、また記事にしたいなと思います。