どうもこんにちわ。
ちょっとややこしいですが、できたので書いていきます。
ちなみにadsenseの審査は厳しく、気づかぬ内に規約違反をおかしてしまっているなんて事もあるので今回このような技を使ってみました。
スマフォ表示されてる際に、PC用のビッグバナーなどが表示されて、画面が横にはみ出ちゃってるとかも何やら違反みたいです。もしくはもしかしたらこの記事,規約にひっかかっちゃうんじゃ?みたいな場合に表示させたくない時など、ヘッダーなどの全ページ共通のアドセンスとかは切り替えにくいですよね。
adsense系のプラグインを使うと、こうした器用なマネは難しいかなと思うのでわりとオススメです。
まずは参考にしたブログ
WordPressで記事ごとにアドセンス表示/非表示を切り替える方法
【WordPress】PCとスマートフォンでAdSenseの種類を切り替える方法|レスポンシブデザインの必須テクニック!
単純にこの2つを足しただけです・・(笑)
- 「noads」とネーミングしたカスタムフィールドを作る
- アドセンスを表示させたくない記事は、noadsのフィールドに「1」など、何でも良いので書き込みをする
- そしてアドセンスコードを貼りたい箇所に
<?php if(wp_is_mobile()) { ?>
<?php if(!$noads = get_post_meta($post->ID, 'noads', true)): ?>
ここにスマホ用アドセンスコードを貼る
<?php endif; ?>
<?php } else { ?>
<?php if(!$noads = get_post_meta($post->ID, 'noads', true)): ?>
ここにPC用アドセンスコードを貼る
<?php endif; ?>
<?php } ?>
とりあえずこれでできました。ちなみに自分はPHPど初心者なのでコードの書き方などもっと美しいのがあるのかも知れないですが、全く問題なく動いているのでとりあえずこれで・・・(笑)
自分はこれはヘッダーなどに使おうと思ってます。
記事中のアドセンスに関しても、上記の技でもいけると思うのですが、自分は記事中に関してはfunction.phpにアドセンス用のショートコードを作成して、入れたい時に好きな場所に入れるやり方でやってるので、表示させたくない時はショートコードを書かなければ良いだけ。自動表示よりは色々融通がきくし楽かなと思いまして。
ショートコードに関してはfunction.phpに
function googlead_shortcode() {
$adsensecode = 'ここにアドセンスコードを貼る';
return $adsensecode;
}
add_shortcode('testad', 'googlead_shortcode');
これで記事の編集画面でアドセンスを入れたい箇所に
[testad]というショートコードを貼れば、表示されるという仕組みです。もちろん上記のようにtestadでなくてもお好きなスペルを入れれば良い感じです。ちゃんと[]でくくらないと表示されませんのでご注意を。
あとはサイドバーのadsenseに関してですが、サイドバーの場合はウィジェットのテキストにベタ書きの方が楽なので、そうしている方も多いと思うのですが、その場合コードを書けないので、自分はWidget logicという色々な条件でウィジェットを表示させたりさせなかったりできるプラグインがあるので、例えばadsenseを非表示にしたいカテゴリーを作って、そのカテゴリーの場合はWidget logicで表示非表示を切り替えれば楽かなーなんて思ってます。
もっと他に良い方法があるかも知れませんが、とりあえずこれでadsenseの表示、非表示はかなり自由にできると思います。
宜しければ参考にしてみてください。
このショートコード探してたんですよね!助かりました!