WordPressで特定の記事やカテゴリだけ、Google AdSenseを非表示にしたい・・そう思ったことはありませんか?
私の場合、クライアントから受ける記事の場合、記事内の広告を非表示にしてほしいと言われたことがありました。その際に行った実装について説明します。
作業には必ず、バックアップを取って行って下さいね。
特定の記事で非表示にする
特定の記事だけブロックする方法です。
WordPressの投稿画面で非表示にしたい投稿のIDを調べる
まずWordPressの投稿画面で、広告を非表示にしたい投稿のIDを調べます。
投稿→該当の記事にカーソルをオン。すると、左下にpost=「数字」というのが表示されますよね。これがIDです。これをメモします。
そして、以下のコードを、広告を入れたい部分に挿入します。
コード:1つの場合
<?php if(!is_single('数字')) : ?> ここにアドセンスのコードを入れる <?php endif; ?>
コード:投稿が複数ある場合
たぶんほとんどの場合はこちらのコードになるかと思います。
例として、投稿IDが3,9,15の場合
<?php if(!is_single(array(3, 9, 15))) : ?> ここにアドセンスのコードを入れる <?php endif; ?>
数を増やしたい場合は、カンマと数字を入れて下さい。
特定のカテゴリで非表示にする
運営報告などのカテゴリとしてまとまっている場合は、こちらのカテゴリごと非表示にしてしまう方が便利です。
カテゴリIDを調べる
さきほどと同じく、WordPressで投稿→カテゴリでカテゴリ一覧を表示させたら、非表示にしたいカテゴリにカーソルをオン。左下にでてくる、tag_ID=「数字」の部分の数字がカテゴリIDです。これをまたメモします。
コードを挿入
<?php if(!in_category('数字')): ?> ここにアドセンスのコードを入れる <?php endif; ?>
コード:カテゴリが複数ある場合
これもさきほどと同じく、複数指定したい場合は以下のように書いて下さい。
例として、カテゴリIDが3,9,15の場合
<?php if(!in_category( array( 3,9,15 ) )): ?> ここにアドセンスのコードを入れる <?php endif; ?>
これで非表示になります。
これらは以下の記事を参照させていただきました。ありがとうございます。こちらの記事では、特定のタグによる非表示の方法も紹介されています。
ままはっくはどうやってるの?
紹介しておいてなんですが、私の場合は上のコードだけでは適用できません。function.phpにて、記事本文中にGoogle AdSenseを入れるということをしているので、その中で上のコードを組み込む必要がありました。
というわけで私が実際に書いているコードが以下。
※そもそも私がどのようにGoogle AdSenseを入れているのかについては、こちらの記事を参照ください。
ままはっくのGoogle AdSenseの位置を公開。コピペでOK!記事本文中にアドセンスを差し込む方法【WordPress】
こんにちは、まなしばです。このブログもさまざまなブロガーさんに読んでいただいていることもあり、またこのブログ自…
function.phpに書いているコード
私はカテゴリごとAdSenseを非表示にする方法を使用しています。カテゴリは複数指定中。
カテゴリはこの例の場合、1と83のIDを非表示指定した場合です。
moreタグ置換しているAdSenseを非表示にする
//more位置へ挿入 add_filter('the_content', 'adMoreReplace'); function adMoreReplace($contentData) { $adTags = <<< EOD ここにAdSenseのコード EOD ; if((is_single())&&(!in_category(array('1','83')))){ $contentData = preg_replace('/<p><span id="more-([0-9]+?)"><\/span>(.*?)<\/p>/i', $adTags, $contentData); $contentData = str_replace('', "", $contentData); $contentData = str_replace('', '', $contentData); } return $contentData; }
2番目のh2タグ、3番目のh2タグの直前のAdSenseを非表示にする
/*****2番目の見出しタグの直前にアドセンスを埋め込むコード********/ add_filter( 'the_content', 'my_insert_ads_into_posts' ); function my_insert_ads_into_posts( $content ) { global $my_menu_name; if((is_single())&&(!in_category(array('1','83')))){ $pc_ad_code = 'ここにPC用のAdSenseコード'; $sp_ad_code = 'ここにスマホ用のAdSenseコード'; if(is_mobile()) { return my_insert_before( $content,2, '<h2' , $sp_ad_code ); }else { return my_insert_before( $content,2, '<h2' , $pc_ad_code ); } return $content; } else { return $content; } } /*****3番目のh2タグの直前にアドセンスを埋め込むコード********/ add_filter( 'the_content', 'my_insert_ads_into_posts2' ); function my_insert_ads_into_posts2( $content) { global $my_menu_name; if((is_single())&&(!in_category(array('1','83')))){ $pc_ad_code = 'ここにPC用AdSenseコード'; $sp_ad_code = 'ここにスマホ用AdSenseコード'; if(is_mobile()) { return my_insert_before( $content,3, '<h2' , $sp_ad_code ); }else { return my_insert_before( $content,3, '<h2' , $pc_ad_code ); } return $content; } else { return $content; } } function my_insert_after( $my_content , $my_ikutume, $my_kugiri, $my_insert ) { $kugirare_parts = explode( $my_kugiri, $my_content ); foreach ($kugirare_parts as $index => $kugirare_part) { if ( trim( $kugirare_part )) { $kugirare_parts[$index] .= $my_kugiri; } if ( $my_ikutume == $index+1 ) { $kugirare_parts[$index] .= $my_insert; } } return implode( '', $kugirare_parts ); } function my_insert_before( $my_content , $my_ikutume, $my_kugiri, $my_insert ) { $kugirare_parts = explode( $my_kugiri, $my_content ); foreach ($kugirare_parts as $index => $kugirare_part) { if ( trim( $kugirare_part )&& $index!=0) { $kugirare_parts[$index] = $my_kugiri.$kugirare_parts[$index]; } if ( $my_ikutume == $index ) { $kugirare_parts[$index] = $my_insert.$kugirare_parts[$index]; } } return implode( '', $kugirare_parts ); }
ハイライトしている部分が、非表示にするためのコードとなります。
見る人が見ればいびつなコードなのですが、とりあえず動くのでよしとしています。
まとめ
Google AdSenseを非表示にする方法でした。
今回のPHPのコードは、さすがに私ではどこに非表示コードを入れればいいかわからなかったため、カヤックの夫に実装してもらいました。皆さんにシェアできればと思い。よかったら参考にしてください。
関連記事
WordPressの記事本文中にmoreタグを置換してアドセンスを入れ、CSSで整える方法
@まなしばです。 皆さんは記事の途中にどうやって広告を入れていますか? 見出しタグの前に入れる方法、moreタ…
ままはっくのGoogle AdSenseの位置を公開。コピペでOK!記事本文中にアドセンスを差し込む方法【WordPress】
こんにちは、まなしばです。このブログもさまざまなブロガーさんに読んでいただいていることもあり、またこのブログ自…