WordPressで特定のタグがついた記事だけ広告を表示させないようにする方法

WordPressで特定のタグがついた記事だけ広告を表示させないようにする方法
関連キーワード
WordPress

「このページには広告を表示させたいけど、こっちでは表示させたくない」というケースがあり、WordPressではそれを実現させる方法がいろいろと浮かびます。

そのうちの一つとして、「特定のタグがついた記事だけ広告を表示させない」のが便利な場合があるため、その方法についてご紹介します。コピペで使えるコード付きです。

タグが付いてるかどうかで条件分岐させる

Googleアドセンスの規約には広告を表示させてはいけないコンテンツがいくつか決められてます。詳しくは下記のページを見てみてください。

例えば「アルコール」については、「アルコールのアフィリエイトリンクが貼ってある記事にはGoogleアドセンスの広告を表示させてはいけない」というルールがあるため、その記事だけGoogleアドセンスを外したいですよね。

そんなときに「アルコール」というタグを作って、「アルコールタグが付いている場合はGoogleアドセンスを表示させない」というプログラムを書きましょう。タグを付けるだけなので、記事を入稿する際には手間がかからなくておすすめです。

記事にタグを設定する

まずは記事にタグを設定します。今回の例では「アルコール」というタグを作りましょう。

タグを設定する方法が分からなければ、下記の記事をご覧ください。タグを作って記事ごとに設定するまでの手順を解説しています。

関連記事『WordPressでブログを投稿する際に「タグ」を設定する方法』のサムネイル画像
WordPressでブログを投稿する際に「タグ」を設定する方法
続きを読む

タグに応じて広告を表示/非表示にする

「アルコール」というタグを作ったら、下記のコードを使って「アルコールタグが付いていたら広告を表示させない」ようにしましょう。

1行目の「alcohol」というのが「アルコールタグ」のスラッグです。こちらにはタグのスラッグかIDを入れてください。

<?php if(!is_tag( 'alcohol' ) ) : ?>
ここに広告のコードを入れる
<?php endif; ?>

ちなみに、「is_tag( ‘alcohol’ )」というのが「アルコールタグが付いているときは」という意味なんですが、その手前に「!」を入れてます。これをつけると意味が逆になりますので、上記のコードでは「アルコールタグが付いていないページすべてに広告を表示させる」という意味になります。

タグに応じて広告を出し分ける

広告の表示/非表示ではなく、広告の出し分けをしたいこともありますよね。「基本的にはアドセンスを表示させて、アルコールタグがついていたらアドセンスではない別の広告を出す」とか。そんなときには下記のコードを使ってください。

<?php if(is_tag( array('alcohol', 'extreme') ) ) : ?>
alcoholもしくはextremeというスラッグのタグがついていたら広告Aを表示
<?php elseif ( is_tag( 'bitcoin' ) ) : ?>
bitcoinというスラッグのタグがついていたら広告Bを表示
<?php else: ?>
それ以外のカテゴリでは広告Cを表示
<?php endif; ?>

上記の例だと、「アルコール・過激」というタグを2つ作って、そのいずれかだった場合はアドセンスではない別の広告を表示。そして「ビットコイン」というタグが付いていたらアドセンスよりも相性の良い仮想通貨のアフィリエイトを表示。それ以外だったらアドセンスを表示させるというときに使える記述例です。

いろいろカスタマイズができるので、状況に応じて使い分けてみてください。

場合によってはカテゴリーごとアドセンスの表示/非表示を切り替えても良い

付いているタグに応じて条件分岐するのもありですが、カテゴリーで分けた方が楽なこともありますよね。このカテゴリーではまとめてアドセンスを表示したくないとか。

そんなときのために、カテゴリーによって広告を出し分ける方法について記事を書いてますので、こちらもあわせてご覧ください。

関連記事『WordPressでカテゴリごとに広告を出し分ける方法』のサムネイル画像
WordPressでカテゴリごとに広告を出し分ける方法
続きを読む

最後に

冒頭に書いた通り、広告を出し分けるにはいろんな方法が考えられますが、今回紹介したタグを使う方法は「コードを頻繁に書き換えるのはめんどうだけどタグをつけるのならできそう」という方におすすめです。

コードはコピペしてかまいませんので、ぜひ使ってみてくださいね。