Post Snippetsプラグインで特定ページの広告を非表示にする方法(囲みショートコードによる)

スポンサーリンク

 

Post Snippets

特定のページでAdSense広告等を非表示にしたい時があります。 

例えば、知り合い同士に限定したパスワードで保護されたプライベートページで、AdSense広告がクリックされるとポリシー違反になる恐れがあるので、このページのAdSense広告(手動及び自動広告)を非表示にしたい場合がそれに当たります。 

こんな時に、特定ページの要素部分を非表示に出来る囲み型ショートコードを使えば、手動のAdSense広告コードを囲むことで手動広告を非表示に出来ます。 又自動広告に対しては、AdSenseの管理画面から特定ページのURLを指定すれば自動広告を除外することができます。

今回は、Post Snippets Plugin(以下PSPに略します)を使った上記の囲み型ショートコードを作成する方法を中心に、特定ページのAdSense広告を非表示にする方法の紹介です。

 

ショートコードについて

WordPressのショートコードは、自己完結型と囲み型の2つがあります。 

自己完結型ショートコードは、例えば以前紹介した「WordPressに『日時』表示。PHPとJavaの使い分け」にある、【date_stamp_php flg="0"】をページの中に配置して、日時表示を単独で処理できるものです。 これは、PSPで作成する一般的な自己完結型ショートコードです。

一方の、囲み型ショートコードは始点[shortcode]と終点[/shortcode]でコンテンツを囲みます。 始点の[shortcode]で分岐などの処理を行い、囲まれているコンテンツに対して終点[/shortcode]で処理を完了させるものです。 

 

オペレータ
今回の場合は、特定ページか否かを調べてショートコードで囲まれたAdSenseの広告コード(要素)を表示・非表示を処理するので、囲み型ショートコードにする必要があります。

 

PSPによる囲み型 ショートコードの作成

ポイント

PSPで囲み型ショートコードを作るには、{content} で表記指定します。 イメージ的には、 { の前方が始点[shortcode] に対応し、  } の後方が終点[/shortcode] に対応します。

 

オペレータ
では、PSPの設定画面(下の画面)で項目①〜⑥について説明し、囲み型ショートコードを作成して行きます。

 

Post Snippetsの設定画面

ショートコードの名前を記入:ここでは、AD_block としました。

 特定ページに対して、広告を非表示にするPHPコードを記入します。

 

オペレータ
わかり易くするため、囲み型ショートコードの始点終点部分に分けてPHPコードを説明しますね。

始点ショートコード部分 【AD_block】

  • 1行目:$inputIDは配列変数で、広告を非表示にしたいページIDをカンマ区切りで指定します。
  • 2行目:get_the_ID();  は現在表示している投稿(又は固定)ページのIDを取得するPHP関数で、変数 $postid に代入します。
  • 4、5行目:in_array($postid , $inputID ,true ) で、現在表示IDと指定IDが一致したら、コンテンツを非表示にする <div style="display:none"> をHTMLに出力します。 7行目で一致しなければ コンテンツを表示させる <div> を出力します。

囲まれたコンテンツ(要素)部分

9行目の {content}  が囲みショートコードで始点と終点に囲まれたコンテンツ要素(=AdSenseコードがコンテンツに該当)になります。

終点ショートコード部分【/AD_block】

最終行の </div> が該当します。

以上が囲み型ショートコードの始点終点部分のPHPコードの説明でした。
オペレータ

(備考)
現在表示しているページと指定ページIDと一致しているか調べる方法として投稿ページに対してはis_single(指定ページID) 関数があります。 固定ページの場合は is_page(指定ページID) 関数を使います。 今回は固定、投稿ページの両方で使える get_the_ID();  関数を使いました。

PSP設定画面に戻って

Variablesは未記入です。 のShortcodeと  のPHPは夫々レ点を入れます。
Descriptionは、適当にわかり易いショートコードの説明文を記入します。

以上の設定が終わったらSave ボタンを押して保存すれば、「特定ページのAdSense広告を非表示する囲みショートコード」が完成します。 

 

完成した囲みショートコードの使い方

手動のAdSense広告コードは、通常 ウィジェット に記載されていると思います。 AdSense広告コードの設置されている場所に移動して、以下の様にPSPで作成した【AD_block】ショートコードをサンドイッチすれば、指定した特定ページにAdSense広告が表示されなくなる筈です。( 【】は半角の大括弧 [ ] にしてください)

[/] shortcode
[AD_block] AdSense広告コード [/AD_block]

 

オペレータ
では、実際に【AD_block】 AdSense広告コード 【/AD_block】を記述してHTMLソースコードがどうなるかを見てみましょう

ブラウザの表示ページと指定ページIDが合致

 HTML
<div style="display:none"> AdSense広告コード </div>

style="display:none" でスタイル指定された<div>タグで「AdSense広告コード」が囲まれているので、ブラウザ上では「AdSense広告」が非表示になります。

ブラウザの表示ページと指定ページIDが不一致

 HTML
<div> AdSense広告コード </div>

単なる<div>タグで「AdSense広告コード」が囲まれているので、ブラウザ上で、「AdSense広告」が表示されます。

 

以上によって、ページIDで指定した特定ページに対して、手動広告を非表示することができます。 

 

オペレータ
今回作ったショートコードは、手動広告を非表示にするだけではありません。 特定ページの中で、非表示にしたい要素があれば、このショートコードで囲えばその要素が非表示になりますので、ご活用ください。

 

特定ページに対して自動広告を除外させる方法

 

オペレータ
以下の方法で特定ページの自動広告を除外させることが出来ます。
  • アドセンスの管理画面を開きます。
  • 広告 > サイト名 > 編集 に入ります。 除外ページ 管理 をクリックします。
  • +除外設定 を追加をクリックします。 
  • 除外するページのURLを記入して、 追加 ボタンを押します。 戻って サイトに適用 ボタンを押します。

以上の操作設定で、特定ページの自動広告を除外できます。

 

指定した特定ページの広告が非表示になっているかの最終確認

  • アドセンスの管理画面から広告サマリーを開いて、該当サイトの鉛筆アイコン(編集)をクリックします。
  • 広告設定のプレービューが表示されるので、指定した特定ページのアドレスに書き換えます。

  • 「自動広告の例」や手動広告を意味する「既存の AdSense 広告」の表示が無いことをモバイルアイコンとPCアイコンをクリックして確認します。

 

事例紹介・当ブログでAdSense広告を非表示にしたページ

AdSenseサイト運営者向けポリシー違反レポートが送られて来たので、対象ページに対して全てのAdSense広告を非表示にして対策したページです。(以下ブログカードを参照してください。)

作品6 (トレー) ヨコ400×タテ260×厚さ60
「ヒンデローペン」って知ってますか?

友人宅を訪れた時に、壁に掛かった品の良い絵付け家具を見つけて、これは何?と聞いたところ、家内が絵付けをした「ヒンデローペン」とのこと。 この作品は、今までどこかで見たような、何故か懐かしさを覚える作品 ...

続きを見る

 

以上、特定ページの広告を非表示にする方法の紹介でした。 また、PSPによる囲み型ショートコードの作成方法がイマイチ分かり難いので、ヒントの一助にして頂ければと思います。

 

スポンサーリンク

 

関連記事(一部広告含む)

 

 

Blog オススメ記事(コンテンツ選択)

ボタンを押してコンテンツ選択

レコード音質とハイレゾ化

CD音質と圧縮音源 AAC等

WebデザインやiPhone・PCなど

ツールと閑話ブログ

スポンサーリンク

© 2021 ハイレコのブログ Powered by AFFINGER5