指定したWordPressカテゴリやタグの投稿でバナー(Google AdSesne)を表示しない方法
2014/11/22
WordPressで記事を投稿しているときに、
Google™AdSenseポリシーに準拠していない投稿を公開したいときもあるのではないでしょうか。
そんな時は条件分岐を利用してAdSenseを簡単に非表示にしたりすることが、
プラグインとカテゴリ、タグで実現できて便利です。
プラグインで条件分岐して表示・非表示を制御
これは私が利用している方法なので需要があるのかはわかりませんが、
WordPressでどうやって制御しているのかをご紹介しておきます。
あくまでも私に合っているだけなので、実現方法はいろいろあると思います。
別にfunction.phpでゴリゴリも一つの方法で正解だと思います。
利用しているプラグイン
Google AdSenseだけでなくウィジェットなどで表示しているコンテンツは、
カテゴリやタグで条件分岐させ表示したり非表示にしたりすることができます。
私が利用しているプラグインは以下のプラグインです。
- Post6WidgetArea
- Widget logic
それぞれのプラグインの詳細は以下の投稿でご紹介しています。
設定方法
さて、上記のプラグインを利用してどのように条件分岐させるかというと、
以下のように当サイトでは設定しています。
青色部分がここではサイドバーウィジェットエリアです。
「Post6WidgetArea」を利用すると投稿の前後などもウィジェットとして管理できます。
緑色部分が「Post6WidgetArea」プラグインを有効化すると追加される、
「Post6 テキスト」ウィジェットです。
このウィジェットは表示・非表示の条件を指定することが簡単にできます。
表示非表示だけでなく、条件に一致しない場合に別の処理を出力することができます。
簡単に条件指定できるのは以下の条件です。
- 日付の範囲
- カテゴリーを選択して、選択カテゴリに含まれない(除外)・含まれる(含める)の指定
また、条件一致時の出力と、条件不一致時の出力を両方定義できます。
ピンク部分が「Widget logic」によってウィジェットに追加されている、
条件指定フィールドエリアです。
ここに対して以下のような条件を定義しています。
1 |
(!has_tag('noads') && !has_tag('0ads') && !is_404() && !is_preview() && !is_user_logged_in() && !is_search() ) || (is_home() && !is_user_logged_in() ) |
動作の仕組み
配置した各要素に以下のように設定して制御しています。
1.出力先の指定
「サイドバー」エリアに対して配置したウィジェットはサイドバーに表示されます。
2.出力内容の指定
ウィジェットの「条件一致時のテキスト」に指定した「Google AdSense広告タグ」が、
サイドバーに表示されます。
3.出力条件の指定
ウィジェットの表示条件(Widget logic)に対して指定された条件に一致する場合に、
Google AdSenseの広告タグが出力され、表示されます。
条件指定の補足
上記で例示した条件を補足します。
条件式
(!has_tag(‘noads’) && !has_tag(‘0ads’) && !is_404() && !is_preview() && !is_user_logged_in() && !is_search() ) || (is_home() &&!is_user_logged_in() )
条件の意味
タグに「noads」を含まない、かつ、
タグに「0ads」を含まない、かつ、
ページが「404エラーページ」ではない、かつ、
ページが「プレビューページ」ではない、かつ、
ページが「ユーザーがログイン中」ではない、かつ、
ページが「検索結果ページ」ではない。
または
ページが「ホーム表示」ではない、かつ、
ページが「ユーザーがログイン中」ではない。
条件が一部重複してしまっていますが(今気づきましたが無視してください)
私はこのように表示条件を指定することでGoogle AdSenseを非表示にしています。
上記の条件のうち、以下の部分で完全非表示と代替広告を切り替えています。
ですので、タグ「noads/0ads」では両方ともAdSenseは非表示にしています。
- タグ「noads」を付与 = Google AdSense以外の代替広告を表示
- タグ「0ads」を付与 = 広告を非掲載
※代替広告は別のウィジェットで設置しています。
これで、投稿に対してどのようなタグを付与するかによって、
- 「Google AdSenseを表示する」
- 「Google AdSense以外の代替広告を表示する」
- 「広告を表示しない」
と、タグだけで切り替えることができる仕組みです。
尚、「Post6 テキスト」ウィジェットのカテゴリチェックボックス部分を利用すると、
特定カテゴリに含まれる際に表示などの条件分岐をさせることも簡単に行えます。
ログインしている場合にGoogle AdSenseを非表示にしている理由は、
以下でご紹介しています。
さいごに
このようにして、タグを指定することだけで簡単に広告の制御が行えます。
例えばAdSenseを表示せず代替広告を表示している投稿は以下の投稿です。
一切広告を表示していない投稿は以下の投稿です。
こうした方法以外にも投稿ごとに制御して出力を変えたい場合には、
以下のような方法も便利です。
WordPressはWordPress Foundation の登録商標(第5049965号)です。
WordPressロゴ、アイコンその他のマーク等はWordPress Foundation の商標であり、
WordPress Foundation の著作物です。
WordPress.comはWordPress Foundation が管理運営を行うドメインならびにサービスの名称です。
WordPress.com、WordPress.net、WordPress.org、WordPress.tv、
WordPressFoundation.orgはWordPress Foundationが
管理運営を行なう正式なトップレベルドメインであるとともに、
WordPress Foundationが運営を行うサービスの名称です。
wordpressはFree Software Foundation, Inc.によってGPL2+でライセンスされています。
Google™はGoogle Inc. の登録商標(第4478963号及び第4906016号)です。
GoogleロゴはGoogle Inc. の国際登録商標です。
国際登録番号:881006及び926052及び1086299及び1091990及び1145934
Google AdSense™,AdSense™はGoogle Inc. の登録商標(第4899412号)です。
関連記事
-
23.追加ウィジェット-Jetpack by WordPress.com
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
JetPackのカスタムCSSエディタのACE Code Editorが表示されない場合
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Facebook Like ボックスウィジェットをJetpackを利用して表示する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Gravatarアカウントに外部プロフィールやWordPress(XML-RPCのAPI)を認証する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
投稿IDなどの各種IDの確認を簡単にしてくれるShowID for Post/Page/Category/Tag/Commentの利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Pinterest™への共有をJetpack by WordPress.comで行う動作
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
wordpressがエラーとなった場合に最初に確認すべきこと
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
08.カルーセル-Jetpack by WordPress.com
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Google™AdSense検索向けAdSense広告(カスタム検索エンジン)と検索結果ページへの広告表示について
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
19_09.Vimeoプレーヤー表示には、Jetpackのvimeo動画ショートコード埋め込み
Google or AdMax Promotion(it) 禁断の機能がau公式 …