WordPressで記事内の見出しの前に広告を表示させる方法

WordPressで記事内の見出しの前に広告を表示させる方法

WordPressで記事内の見出しの前に広告を表示させる方法

WordPressにて、記事内の見出しの前に広告を表示させる方法をご紹介いたします。

また元に戻すかもしれませんが、当ブログでも2番目の見出しの前に広告を表示するようにしてみました。

WordPressで記事内の見出しの前に広告を表示させる方法

n番目の見出しの前に広告を表示させる方法は、寝ログさんのこちらの記事で紹介されているものを参考にしました。

寝ログさんの記事ではH2タグが見出しになっていましたが、当ブログでは見出しにH3タグを使用しているため、コードの内容もH3タグに変更しています。また、PCとスマホで広告の内容を変更したかったので、PCとスマホの条件分岐も追加しました。

以下は2番目のH3タグの前に広告を表示するためのコードです。これをfunctions.phpに追加します。


function add_ad_before_h3($the_content) {
$ad_pc = <<< EOF
//////////////////////////
//////PC用広告コード//////
//////////////////////////
EOF;

$ad_sp = <<< EOF
//////////////////////////
////スマホ用広告コード////
//////////////////////////
EOF;
 
 if ( is_single() ) {
 $h3 = '/^<h3.*?>.+?<\/h3>$/im'; //H3見出しのパターン
 if ( preg_match_all( $h3, $the_content, $h3s )) { //H3が本文中にあるかどうか
 if ( $h3s[0] ) {
 if ( wp_is_mobile() ){
 if ( $h3s[0][1] ) { //2番目のH3手前に広告を挿入
 $the_content = str_replace($h3s[0][1], $ad_sp.$h3s[0][1], $the_content);
 }
 } else {
 if ( $h3s[0][1] ) { //2番目のH3手前に広告を挿入
 $the_content = str_replace($h3s[0][1], $ad_pc.$h3s[0][1], $the_content);
 }
 }
 }
 }
 }
 return $the_content;
}
add_filter('the_content','add_ad_before_h3');

「PC用広告コード」と「スマホ用広告コード」の部分に入れた内容が、それぞれ2番目のH3タグの直前に表示されます。

1番目のH3タグの直前に広告を配置したい場合は、「$h3s[0][1]」を「$h3s[0][0]」に、3番目の見出しの前にしたい場合は「$h3s[0][2]」に変更します。

PCとスマホを分ける必要がない場合は、以下のようにします。


function add_ad_before_h3($the_content) {
$ad = <<< EOF
//////////////////////////
//////PC用広告コード//////
//////////////////////////
EOF;
 
 if ( is_single() ) {
 $h3 = '/^<h3.*?>.+?<\/h3>$/im'; //H3見出しのパターン
 if ( preg_match_all( $h3, $the_content, $h3s )) { //H3が本文中にあるかどうか
 if ( $h3s[0] ) {
 if ( $h3s[0][1] ) { //2番目のH3手前に広告を挿入
 $the_content = str_replace($h3s[0][1], $ad.$h3s[0][1], $the_content);
 }
 }
 }
 }
 }
 return $the_content;
}
add_filter('the_content','add_ad_before_h3');

あとがき

記事本文中の広告は反応率が良いらしいので、試してみたいという方はぜひ参考にしてください。当ブログの場合は、今のところ以前とたいして差はないです。しばらくは様子を見てみようと思います。

また、寝ログさんの記事内でも言及されていますが、くれぐれもGoogleアドセンスなどのポリシーに違反しないようご注意ください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です