カテゴリや投稿ページ、固定ページの条件でGoogle Adsenseの自動広告を表示する方法[WordPress]

シェアしていただけるとうれしいです

みなさんこんにちは。さかのうえのまろ(@sakanoueno_maro)です。

Google AdSenseの「自動広告」を導入してみました。自動的に記事の中の「適切な場所」に広告を挿入してくれます。

初期の頃に比べると、かなり表示位置の精度が上がってきて、適切な場所に広告が表示されるようになってきました。

適切な場所に自動広告が表示されるようになってきたら、いよいよ本格的に導入したくなります。とはいえ、特定のカテゴリのページには表示したくないとか、投稿ページだけに限定して固定ページには表示したくない、などと言った要望が出てくると思われます。

今回は、そういったページの条件に応じて自動広告を表示したり表示しないようにしたりということをやってみます。

ソースは、前回のこちらの記事のソースを使いまわします。

Google Adsenseの自動広告を挿入する方法[WordPress]
GoogleのAdSenseで「自動広告」というものが始まりました。 ウイジェットを使わなくても、クローラーがページの内容を解...

こちらのソースの1行目に、「プレビュー表示のときには表示しない」「404 Not Foundのときは表示しない」という条件式を入れています。そこに、必要な条件式を追加することで、カテゴリや投稿ページ、固定ページの条件でGoogle Adsenseの自動広告の表示・非表示を切り替えます。



Google Adsenseの自動広告を特定のカテゴリで表示、非表示にする方法

WordPressの「in_category()」関数を使います。「現在表示されている投稿が指定したカテゴリーに割り当てられているか」を調べる関数です。
参考関数リファレンス/in category

上記Webページに

in_category() は、投稿に直接割り当てられているカテゴリー(管理画面の新規投稿/編集でチェックしたカテゴリー)のみを考慮します。 しかし、そのカテゴリーの親は考慮しません

とありますので、指定するカテゴリーが「親子」関係の「子」にあたるときは、「子」カテゴリーを指定する必要があります。

カテゴリIDで指定する

必要なものは、カテゴリの「ID」番号、つまり、「カテゴリーID」です。

カテゴリIDは下記の方法で調べることができます。

  1. WordPressの管理ページにログインします。
  2. メニューの「投稿」→「カテゴリー」をクリックします。
  3. カテゴリーのリストの「カテゴリー名」のところにカーソルを合わせると、ブラウザの下の方にリンク先のURLが表示されます。このURLの中の「tag_ID=」のところに書かれている数字が「カテゴリーID」です。

カテゴリーIDを調べる

カテゴリーIDを調べる

※画像をクリックすると拡大表示されます٩( ‘ω’ )و

カテゴリーIDが「228」のときの判定は、

となります。

複数のカテゴリIDを指定するときは、カテゴリIDを配列で指定します。

こちらの判定を、条件式に組み込んでみます。

カテゴリIDが「228」のときに自動広告を表示する場合です。

こちらの場合は、「カテゴリーIDが228」のとき、自動広告が表示されます。

逆に、カテゴリーIDが「228」でないときに自動広告を表示する場合です。

1行目のところ、「in_category(228)」の頭に「!」をつけています。「!」は否定の意味ですので、「カテゴリーIDが228でないとき」ということになります。

スラッグで指定する

「in_category()」関数は、カテゴリーIDだけではなく、カテゴリーの「スラッグ」を指定することも可能です。スラッグとは、こちらのことです。

スラッグ

カテゴリーページを表示したときにURLの一部に使われます。カテゴリーIDは数字なので、スラッグで指定したほうが見た目にわかりやすいかもしれませんね。

スラッグが「linux」のときの判定は、

となります。

複数のカテゴリIDを指定するときは、スラッグを配列で指定します。

カテゴリーIDのように数字のときと違って、スラッグのように数字でないときは「”」で囲う必要がありますのでご注意を。

こちらの判定を、条件式に組み込んでみます。

スラッグが「linux」のときに自動広告を表示する場合です。

こちらの場合は、「プレビューページでない」かつ「スラッグがlinux」のとき、自動広告が表示されます。

逆に、スラッグが「linux」でないときに自動広告を表示する場合です。

1行目のところ、「in_category(linux)」の頭に「!」をつけています。「!」は否定の意味ですので、「スラッグが’linux’でないとき」ということになります。

Google Adsenseの自動広告を投稿ページ、固定ページのときに表示、非表示にする方法

投稿ページであることを判定する関数は、is_single()を使います。
固定ページであることを判定する関数は、is_page()を使います。

参考関数リファレンス/is_single()
参考関数リファレンス/is_page()

任意の投稿ページ、または、固定ページ

任意の投稿ページ、または、固定ページを判定するときの書き方です。任意、つまり、いずれかの投稿ページ、または、固定ページが表示されているときの判定です。

①任意の投稿ページが表示されているときに自動広告を表示する場合。

②投稿ページではないときに自動広告を表示する場合。

③任意の固定ページが表示されているときに自動広告を表示しない場合。

④固定ページではないときに自動広告を表示する場合。

カテゴリのときと同じように記載します。

記載例① 表示されているページが固定ページではないときに広告を表示する

固定ページ以外のページには自動広告が表示されます。

記載例② 表示されているページが固定ページではなく、かつ、投稿ページであるときに表示する

固定ページでは自動広告は表示されません。投稿ページでは自動広告が表示されます。条件に合致しない他のページでは自動広告は表示しません。

特定の投稿ページ、または、固定ページ

特定の投稿ページ、または、固定ページを判定するときの判定の書き方です。カテゴリのときと同じように、投稿ページや固定ページIDでもスラッグでも指定できることに加えて、タイトルでも指定ができます。また、複数の投稿ページまたは固定ページを指定するときは、配列で指定できます。

今回はスラッグで指定してみます。

①特定の投稿ページが表示されているときに自動広告を表示する場合。
「/post-123/」のときに自動広告を表示します。それ以外のページでは自動広告が表示されません。

特定の投稿ページ(複数指定)が表示されているときに自動広告を表示する場合。
「/post-123/」と「/post-456/」のときに自動広告を表示します。それ以外のページでは自動広告が表示されません。

②特定の投稿ページではないときに自動広告を表示する場合。
「/post-123/」のときは自動広告を表示しません。それ以外のページでは自動広告が表示されます。

特定の投稿ページ(複数指定)ではないときに自動広告を表示する場合。
「/post-123/」と「/post-456/」のときは自動広告を表示しません。それ以外のページでは自動広告が表示されます。

③特定の固定ページが表示されているときに自動広告を表示する場合。
「/about/」のときは自動広告を表示します。それ以外のページでは自動広告が表示されません。

「/about/」と「/policy/」のときに自動広告を表示します。それ以外のページでは自動広告が表示されません。

④特定の固定ページではないときに自動広告を表示する場合。
「/about/」と「/policy/」のときは自動広告を表示しません。それ以外のページでは自動広告が表示されます。

記載例① 表示されているページが特定の投稿ページ以外のときに自動広告を表示する

投稿ページの「/post-123/」と「/post-456/」以外は自動広告を表示するようにします。

記載例② 表示されているページが特定の固定ページ以外のときに自動広告を表示する

固定ページの「/about/」と「/policy/」以外は自動広告を表示するようにします。

各ページに自動広告を貼るのではなく、1か所で管理できるので楽です

投稿ページ、固定ページ、それぞれに自動広告のスクリプトを貼り付けることもできますが、その方法ですと、管理が大変なことになります。

1か所でどこの投稿ページ、どこの固定ページは表示・非表示を切り替えたほうが管理が楽になります。

たくさんのページを管理したいときは、下記のようにコードを書くと管理が楽になります。

一般的には「表示したくないページ」を除外したほうが簡潔に管理できると思います。
3行目で、表示したくない固定ページを配列にし、$pageという変数に代入しています。
9行目で、表示したくない投稿ページを配列にし、$singleという変数に代入しています。
で、16行目で、is_page()関数とis_single()関数の引数として、上記の変数を与えています。
この書き方で、3行目と9行目で指定した固定ページと投稿ページには自動広告が表示されなくなります。

PHPのコードを触りますが、比較的カンタンなので、是非チャレンジしてみてください。

チャレンジする際は、編集するファイルのバックアップをお忘れなく。

というわけで今日はこの辺で。みなさん楽しいブログライフを。
ほなまたね。
さいなら〜ヽ(´ー`)

いわゆる「画像直リンク」、画像の複製は固くお断りいたします。
スポンサーリンク

シェアしていただけるとうれしいです

フォローよろしくお願いします

関連記事



スポンサーリンク