WordPress

【WordPress】本文内の指定位置にGoogle AdSense広告を表示する方法

WordPressロゴ

全記事共通設定で本文内の指定位置に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ライフをお過ごしください^^

-WordPress
-,

Copyright© ハッピー・プログラミング・ライフ , 2020 All Rights Reserved.