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

ある日色々な方のブログを拝見している時、記事の途中にGoogle AdSense等の広告を表示しているブログが非常に多いことに気付きました。
みなさんどうやっているのか、また当ブログで実施する場合どうすべきか色々考えてみたところ、moreタグを置換するのが一番管理がしやすいのではないかという結論に達しました。

ということで、やってみました。
moreタグとは
moreタグとは、「続きを読む」を挿入したい箇所に記述する、例のアレです。

この、
<!--more-->
の部分を広告等バナーに置換します。
プラグインを使うのは避けたいと思ったので、以下のfunction.phpに記述する方法をとりました。
moreタグを置換
functions.phpに下記内容を追加します。
<?php
add_filter('the_content', 'adMoreReplace');
function adMoreReplace($contentData) {
$adTags = <<< EOF
//表示させたい内容をここに記載
EOF;
$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等、任意のコードを記載します。
スマホで表示する場合は、広告の表示件数や種類を切り替えています。
あとがき
functions.phpをいじる際、毎回勇気がいるのですが、うまく出来て良かったです。
あ、もちろんfunctions.phpに限らず、何かしら変更を加える場合はバックアップ必須です。












