記事を書くときにプレビューを良く使うので、意味もなく広告が何回も表示されてしまう。これはあまり良い事ではないので非表示にした。ついでにAdSenseの広告掲載に関するポリシーをもう一度読み直し非表示にするページを考えてみた。
どこで非表示にするか考える
- ログインが必要なページはパスワードで保護されて”いない”ページを知らせればいい
- 404エラーページはダメ
ということなので、ログイン中もできるだけ一般ユーザーと同じ環境にしたいので表示させて、プレビューと404エラーページだけ非表示にすることにした。
ショートコードの作成
function.phpに下記のコードを記述する
function shortcode_ad_hide( $atts, $content = null ) {
if ( ! is_preview() && ! is_404() ) {
return $content;
}
}
add_shortcode('ad_hide', 'shortcode_ad_hide');
テーマ内で使う場合の記述
<?php
echo do_shortcode('[ad_hide]広告のコード[/ad_hide]');
?>
サイドバーのテキストウィジェットでショートコードを使用可能にしたい場合はfunction.phpに下記のコードを追記します。
add_filter('widget_text', 'do_shortcode');
これでどこでも広告コードを[ad_hide]で囲めばプレビューと404エラーページには表示されなくなります。