当サイトはアフィリエイト広告を利用しています

WordPressで1・2・3番目のH2見出し前に広告を挿入する方法(モバイル表示対応版)

2016-02-18Web制作

見出し前…それは絶好の広告設置ポイント。

この記事では、1・2・3番目のH2見出し前に広告を自動的に挿入する方法を説明しています。

寝ログさんの記事を参考に、更にスマホ or PC&タブレットで広告の表示を分けるようにカスタマイズしました。

完成形イメージ図は寝ログさんの記事をご覧ください。

スマホかどうかの条件分岐はNaifixさんの記事を参考にさせていただきました。
(モバイルかどうか判定する関数はWordPressデフォルト関数であるのですが、タブレットも含まれてしまうため。今回はタブレットはPCと同じ表示にするようにします。)

PHPが全く分からない方でも安心! コピペでOKです!

H2見出し前に広告を自動挿入するカスタマイズ方法

下記二つのコードを外観 > テーマの編集 > functions.php へコピー&ペーストしてください。

モバイル切り替え用関数

// ***********************************************************************************
// スマホ表示分岐
// ***********************************************************************************
function is_mobile(){
    $useragents = array(
        'iPhone', // iPhone
        'iPod', // iPod touch
        'Android.*Mobile', // 1.5+ Android *** Only mobile
        'Windows.*Phone', // *** Windows Phone
        'dream', // Pre 1.5 Android
        'CUPCAKE', // 1.5+ Android
        'blackberry9500', // Storm
        'blackberry9530', // Storm
        'blackberry9520', // Storm v2
        'blackberry9550', // Storm v2
        'blackberry9800', // Torch
        'webOS', // Palm Pre Experimental
        'incognito', // Other iPhone browser
        'webmate' // Other iPhone browser

    );
    $pattern = '/'.implode('|', $useragents).'/i';
    return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
※Simplicityをお使いの方は既にテーマ内にあるため、上記のコードはコピペ不要です。

H2見出し前広告表示関数

// ***********************************************************************************
// H2タグ前に広告を挿入
// ***********************************************************************************
function add_ad_before_h2_for_3times($the_content) {
//1つ目の広告タグを挿入(PC表示用)
$ad1_pc = <<< EOF
//////////////////////////
//ここにアドセンスを挿入//
//////////////////////////
EOF;
//2つ目の広告タグを挿入(PC表示用)
$ad2_pc = <<< EOF
//////////////////////////
//ここにアドセンスを挿入//
//////////////////////////
EOF;
//3つ目の広告タグを挿入(PC表示用)
$ad3_pc = <<< EOF
//////////////////////////
//ここにアドセンスを挿入//
//////////////////////////
EOF;

//1つ目の広告タグを挿入(モバイル表示用)
$ad1_mobile = <<< EOF
//////////////////////////
//ここにアドセンスを挿入//
//////////////////////////
EOF;
//2つ目の広告タグを挿入(モバイル表示用)
$ad2_mobile = <<< EOF
//////////////////////////
//ここにアドセンスを挿入//
//////////////////////////
EOF;
//3つ目の広告タグを挿入(モバイル表示用)
$ad3_mobile = <<< EOF
//////////////////////////
//ここにアドセンスを挿入//
//////////////////////////
EOF;

  if ( is_single() && !is_mobile() ) {//投稿ページ(PC)
    $h2 = '/^<h2.*?>.+?<\/h2>$/im';//H2見出しのパターン
    if ( preg_match_all( $h2, $the_content, $h2s )) {//H2見出しが本文中にあるかどうか
      if ( $h2s[0] ) {//チェックは不要と思うけど一応
        if ( $h2s[0][0] ) {//1番目のH2見出し手前に広告を挿入
          $the_content  = str_replace($h2s[0][0], $ad1_pc.$h2s[0][0], $the_content);
        }
        if ( $h2s[0][1] ) {//2番目のH2見出し手前に広告を挿入
          $the_content  = str_replace($h2s[0][1], $ad2_pc.$h2s[0][1], $the_content);
        }
        if ( $h2s[0][2] ) {//3番目のH2見出し手前に広告を挿入
          $the_content  = str_replace($h2s[0][2], $ad3_pc.$h2s[0][2], $the_content);
        }
      }
    }
  } else if ( is_single() && is_mobile() ) {//投稿ページ(モバイル)
    $h2 = '/^<h2.*?>.+?<\/h2>$/im';//H2見出しのパターン
    if ( preg_match_all( $h2, $the_content, $h2s )) {//H2見出しが本文中にあるかどうか
      if ( $h2s[0] ) {//チェックは不要と思うけど一応
        if ( $h2s[0][0] ) {//1番目のH2見出し手前に広告を挿入
          $the_content  = str_replace($h2s[0][0], $ad1_mobile.$h2s[0][0], $the_content);
        }
        if ( $h2s[0][1] ) {//2番目のH2見出し手前に広告を挿入
          $the_content  = str_replace($h2s[0][1], $ad2_mobile.$h2s[0][1], $the_content);
        }
        if ( $h2s[0][2] ) {//3番目のH2見出し手前に広告を挿入
          $the_content  = str_replace($h2s[0][2], $ad3_mobile.$h2s[0][2], $the_content);
        }
      }
    }
  }

  return $the_content;
}
add_filter('the_content','add_ad_before_h2_for_3times');

//////////////////////////
//ここにアドセンスを挿入//
//////////////////////////
を削除して、作成したアドセンスコードを挿入してください。

 

広告コードについて注意点

そのまま挿入するとテーマによっては下の段落に少し被る可能性があるので、pタグで囲むといいかもしれません。

 

また、1番目・2番目・3番目を全て同じアドセンスコードを使うと、どこでクリックが発生したのか分析することができなくなってしまいます。

そのため全て別々のコードを作成することをおすすめします。

モバイル用も別に作成するとなると合計6つの広告ユニットが必要となります。

 

広告を並べたい場合はこちらのカスタマイズ記事をどうぞ。

スポンサーリンク

おすすめ記事セレクション