スポンサードリンク

前回、『(WordPress)記事中にあるmoreをAdsenseコードに置き換える方法』という覚え書きを書いたのですが、
本文が長くなってしまう時に、少しでも広告表示が増やせたらいいなと
欲深いことを思ってしまいましたので
記事中にあるh2タグの前にAdsenseコードを入れるという方法があるようで
そちらを使ってみました。
スポンサードリンク
本文のh2タグの前にAdsenseコードを入れる方法

下記のコードをfunction.phpに追記するだけです。
小テーマがあればそちらのfunction.phpに追記するといいですよ。
※コードを入力する前にバックアップをとることをしてください。
何かしらの原因で画面が真っ白になることがあります。
元に戻せる状態にしておきましょう。
function add_ads_before_h2($the_content) { if (is_single()) { $ads = <<< EOF スポンサードリンク ////////////////////////// //ここにAdsenseコードを入れる ///////////////////////// EOF; $h2 = '/^.+?<\/h2>$/im';//H2見出しのパターン if ( preg_match_all( $h2, $the_content, $h2s )) { if ( $h2s[0] ) { // 1つ目のh2見出しの上にアドセンス挿入 if ( $h2s[0][0] ) { $the_content = str_replace($h2s[0][0], $ads.$h2s[0][0], $the_content); } // 3つ目のh2見出しの上にアドセンス挿入 if ( $h2s[0][2] ) { $the_content = str_replace($h2s[0][2], $ads.$h2s[0][2], $the_content); } // 5つ目のh2見出しの上にアドセンス挿入 if ( $h2s[0][4] ) { $the_content = str_replace($h2s[0][4], $ads.$h2s[0][4], $the_content); } // 7つ目のh2見出しの上にアドセンス挿入 if ( $h2s[0][6] ) { $the_content = str_replace($h2s[0][6], $ads.$h2s[0][6], $the_content); } } } } return $the_content; } add_filter('the_content','add_ads_before_h2');
この関数は1個目と3個目、5個目、7個目のh2タグの前にアドセンス広告を表示させることができます。
関数内容の解説

if (is_single()) {
まずif文を使って投稿ページかを判断させます。
$ads = <<< EOF スポンサードリンク ////////////////////////// //ここにAdsenseコードを入れる ///////////////////////// EOF;
3行目で変数名「ads」にアドセンスコードを入れます。
EOFでの書き方は左側に空白があるとエラーが出る場合があるので左詰で書きます。
$h2 = '/^.+?<\/h2>$/im';//H2見出しのパターン
9行目でh2タグ見出しのパターンを変数へ代入します。
if ( preg_match_all( $h2, $the_content, $h2s )) {
正規表現を調べる関数【preg_match_all】を使って、先ほどのh2タグ見出しのパターンを本文コンテンツが入っている変数名「the_content」と照らし合わせます。
見出しのパターンにマッチしたものだけ変数名「h2s」という配列に格納します。
if ( $h2s[0] ) {
次に、if文を使って先ほどの配列にh2タグのものがあるかを判定します。
// 1つ目のh2見出しの上にアドセンス挿入 if ( $h2s[0][0] ) { $the_content = str_replace($h2s[0][0], $ads.$h2s[0][0], $the_content); } // 3つ目のh2見出しの上にアドセンス挿入 if ( $h2s[0][2] ) { $the_content = str_replace($h2s[0][2], $ads.$h2s[0][2], $the_content); } // 5つ目のh2見出しの上にアドセンス挿入 if ( $h2s[0][4] ) { $the_content = str_replace($h2s[0][4], $ads.$h2s[0][4], $the_content); } // 7つ目のh2見出しの上にアドセンス挿入 if ( $h2s[0][6] ) { $the_content = str_replace($h2s[0][6], $ads.$h2s[0][6], $the_content); }
変数名「h2s」は連想配列になっているので、ここでh2タグの1番目、3番目、5番目、7番目を調べます。
関数名【str_replace】を使って本文「the_content」の中にあるh2タグ(引数1番目)にアドセンスコードをつなげたh2タグ(引数2番目)を入れ替えます。
return $the_content; } add_filter('the_content','add_ads_before_h2');
最後にアドセンスコードを追加した本文を戻します。
この内容をWordpress関数のadd_filterで追加します。
これで、本文のh2タグの1番目、3番目、5番目、7番目の前にアドセンス広告が表示されるようになります。
スポンサードリンク
記事中にあるh2タグの前にAdsenseコードを入れてみるのまとめ

広告はたくさんあると正直うっとおしいので、あまり邪魔にならない場所に貼ったほうがいいです。
でも、広告収入がないもの寂しいです。
なので、どれくらい表示が望ましいかは個人の判断によります。
どのくらいがいいかはやりながら判断したほうがよさそうですね。
(参考)本文記事1、2、3番目のH2見出し手前にアドセンスを挿入するWordPressカスタマイズ方法
スポンサードリンク