全記事共通設定で本文内の指定位置にGoogle Adsense広告を表示する方法について説明します。
見出し(H2タグ)の直前にGoogle Adsense広告を表示する方法
最初の見出しの直前にGoogle AdSense広告を表示
まず、最初の見出し(H2タグ)の直前に広告を表示する方法です。
functions.phpに次のコードを貼り付けてください。
【ここにGoogle AdSenseで生成した広告ユニットのコードを貼り付けてください。】の部分は、Google AdSenseで作成した広告ユニットのコードを貼り付けてください。
/** * 本文中の最初の<h2>タグの上にAdSense広告を表示する */ function add_ads_before_h2($the_content) { if (is_single()) { $ads = <<< EOF <div style="font-size: .7em; text-align:center;">スポンサーリンク</div> <div style="text-align:center"> 【ここにGoogle AdSenseで生成した広告ユニットのコードを貼り付けてください。】 </div> <div style="clear:both"></div> EOF; $target_pattern = '/<h2[^>]*>.*?<\/h2>/im'; //H2見出しの正規表現 if ( preg_match_all( $target_pattern, $the_content, $matched )) { // 最初のh2見出しの上にAdSenseを挿入 if ( isset($matched[0][0]) ) { $the_content = str_replace($matched[0][0], $ads.$matched[0][0], $the_content); } } } return $the_content; } add_filter('the_content','add_ads_before_h2');
注意点として、「EOF;」の部分は必ず左詰にし、スペースやタブを入れないでください。
これはPHPのヒアドキュメントという記法であり、左詰にしなければ、PHPの文法エラーになります。
2つ目の見出しの直前にGoogle AdSense広告を表示
$matched[0][0]の部分を$matched[0][1]に書き換えると2つ目の見出しの直前に表示されます。
// 2つ目のh2見出しの上にAdSenseを挿入 if ( isset($matched[0][1]) ) { $the_content = str_replace($matched[0][1], $ads.$matched[0][1], $the_content); }
3つ目の見出しの直前にGoogle AdSense広告を表示
$matched[0][0]の部分を$matched[0][2]に書き換えると3つ目の見出しの直前に表示されます。
// 3つ目のh2見出しの上にAdSenseを挿入 if ( isset($matched[0][2]) ) { $the_content = str_replace($matched[0][2], $ads.$matched[0][2], $the_content); }
同様に、4つ目の場合は$matched[0][3], 5つ目の場合は$matched[0][4], ... となります。
本文の最後にGoogle AdSense広告を表示する方法
本文の最後にGoogle AdSense広告を表示する方法はもう少しシンプルです。
直接テンプレートファイルにAdSenseから取得したコードを入力しても良いですが、
以下のコードをfunctions.phpに記述することで、AdSenseの記述場所を一元管理できるメリットがあります。
/** * 本文の後ろにAdSense広告を表示する */ function add_ads_after_content($the_content) { if (is_single()) { $ads = <<< EOF <div style="font-size: .7em; text-align:center;">スポンサーリンク</div> 【ここにGoogle AdSenseで生成した広告ユニットのコードを貼り付けてください。】 <div style="clear:both"></div> EOF; $the_content .= $ads; } return $the_content; } add_filter('the_content','add_ads_after_content');
以上になります。
楽しいWordPressライフをお過ごしください^^