スポンサードリンク

wordpress
wordpress

前回、『(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カスタマイズ方法

スポンサードリンク