STINGER PLUS+で記事中の好きなhタグにアドセンスを貼る方法

f3c6a8ff
スポンサーリンク

どうも、くろうです。やっと、STINGER PLUS+で記事中にアドセンスを貼る方法がわかりました。

ですので今回は、記事中のhタグにアドセンスを自動で張る方法を紹介します。

できることとしては、

  • hタグの直前に自動でアドセンスを設置する。
  • PC、スマホで別々の箇所のhタグにアドセンスを設置する。

この二つですね。それでは紹介します。

hタグの最初や最後にアドセンスを表示させる方法

今回、アドセンスを貼る条件はこのようにしています。

  • PCは、最初のH2タグ
  • スマホは、最初と最後のH2タグ

図にするとこのような感じです。

アドセンスその1

 

では、上図のように、アドセンスを貼り付けるコードがこちら。

「functions.php」の最終行に貼り付けてください。


function add_ad_before_h2_for_2times($the_content) {
//スマホで最初に表示させるアドセンス
$ad1 = <<< EOF
アドセンスコード①
EOF;
//スマホで2番目に表示させるアドセンス
$ad2 = <<< EOF
アドセンスコード②
EOF;
//PCで最初に表示させるアドセンス
$ad3 = <<< EOF
アドセンスコード③
EOF;
if ( is_single() ) {//投稿ページ
$h2 = '/^<h2.*?>.+?<\/h2>$/im';//H2見出しのパターン
if ( preg_match_all( $h2, $the_content, $h2s )) {//H2見出しが本文中にあるかどうか
if ( $h2s[0] ) {//チェックは不要と思うけど一応
if (st_is_mobile()){//スマホの条件判断
if ( $h2s[0][0] ) {//最初のH2見出し手前にad1を挿入
$the_content  = str_replace($h2s[0][0], $ad1.$h2s[0][0], $the_content);
}
if ( $h2s[0][1] ) {////H2が2個以上なら最後のH2見出し手前にad2を挿入
$the_content  = str_replace($h2s[0][count($h2s[0]) - 1], $ad2.$h2s[0][count($h2s[0]) - 1], $the_content);
}
} else {//PC表示
if ( $h2s[0][0] ) {//1番目のH2見出し手前にad3を挿入
$the_content  = str_replace($h2s[0][0], $ad3.$h2s[0][0], $the_content);
}
}
}
}
}
return $the_content;
}
add_filter('the_content','add_ad_before_h2_for_2times');

アドセンスコード①,アドセンスコード②がスマホで表示するアドセンス。アドセンスコード3がPCで表示するアドセンスとなっています。

全て統一でもよかったのですが、今後のアドセンスのメンテナンスをやりやすくするためにもこのような形にしました。

今まで悩んだ理由としては、STINGER PLUS+より前バージョンでアドセンスを貼り付ける記事だと、スマホの条件分岐が「is_mobile()」だったんですけれども、STINGER PLUS+から「st_is_mobile()」になっていたというところでした。

最初から2番目や最後から2番目にアドセンスを貼る方法

ここまでできれば、H2タグの2番目だろうが何番目だろうが好きなようにアドセンスを貼ることができます。

例えば、最後のH2見出しの手前ではなく最後から2番目のH2見出しになると以下のように書くことができます。


//22~24行目、修正
if ( $h2s[0][2] ) {////H2が3個以上なら最後のH2見出しから2番目にad2を挿入
$the_content  = str_replace($h2s[0][count($h2s[0]) - 2], $ad2.$h2s[0][count($h2s[0]) - 2], $the_content);
}

 

また、最初から2番目のように貼りたい場合はこのようにしてください。


//19~21行目、修正
if ( $h2s[0][1] ) {//最初から2番目のH2見出し手前にad1を挿入
$the_content  = str_replace($h2s[0][1], $ad1.$h2s[0][1], $the_content);
}

このような感じでh2タグがついている好きな場所に貼り付けることも可能です。

まとめ

今回、アドセンスが4つ以上貼れるようになったみたいな騒ぎがあったので、アドセンスに触れてみました。

おかげでやっと、PCとスマホ3つずつアドセンスを貼り付けることができました。

今まで、「is_mobile()」が「st_is_mobile()」になっていることに気が付くことができなかったことが敗因です。みなさんも注意してください。

この貼り方でしたら、コピペで済みますし場所の指定等も簡単ですので試してみてください。

参考:WordPress記事内の最初と最後のhタグ直前にアドセンスを貼る方法

スポンサーリンク