WordPressで記事ごとに広告を出したり出さなかったりする方法

WordPressで記事ごとに広告を出したり出さなかったりする方法

WordPressでブログを運用しているとGoogleアドセンスやアフィリエイトなどの広告を表示させてる方も多いと思うんですが、記事によっては広告を外したり別のものを表示させたりしたかったりしますよね。

記事ごとに広告を出したり出さなかったりする簡単な方法をご紹介します。

is_single関数で条件分岐する

カテゴリやタグでの条件分岐ももちろん可能ですが、今回紹介するのは「特定の記事を狙い撃ちする方法」です。

人気記事10記事分だけとか、記事の性質的に広告を外したかったり使い分けたかったりするときにお使いください。

「is_single」という関数を使って条件分岐させます。

事例1:特定の記事にだけ広告を貼って他の記事には貼らない

<?php if( is_single( array( 'post-001', 'post-002', 'post-003' ) ) ): ?>
広告のコード
<?php endif; ?>

こちらはある特定の記事にだけ広告を貼りたいという場合に使えます。

上記コードの「post-001」などと書かれているところに指定した記事の「スラッグ」を入れてください。

事例2:特定の記事では広告を貼らないようにして、他の記事には広告を貼る

<?php if( !is_single( array( 'post-001', 'post-002', 'post-003' ) ) ): ?>
広告のコード
<?php endif; ?>

事例1と似てますが、is_singleの頭にびっくりマークをつけることで「指定した記事以外」という意味になります。

広告を外したい記事が少ない場合にはこちらが便利です。Googleアドセンスの規約に触れそうな記事だけ回避するとか。

事例3:特定の記事だけGoogleアドセンス以外の広告を貼る場合

<?php if( is_single( array( 'post-001', 'post-002', 'post-003' ) ) ): ?>
他の広告
<?php else: ?>
Googleアドセンスのコード
<?php endif; ?>

これまでの事例だと「貼るor貼らない」の2択でしたが、2種類の広告を使い分けたいという場合はこちら。

広告スペースとして活用したいけどもGoogleアドセンスは出したくない、っていう場合に使えます。

広告のタグを別テンプレートに書いて呼び出す

広告の管理を楽にするために直接広告用のコードを書くよりも別途テンプレートファイルを作って呼び出した方が良かったりしますよね。

そんなときは下記の1行を広告を表示させたい箇所に書いてください。

<?php get_template_part('ad-single-footer'); ?>

こちらは「ad-single-footer.php」というテンプレートファイルを読み込むという意味です。

ad-single-footer.phpのファイルを作成してそこに広告のコードを入れておいてください。

最後に

僕は人気記事数記事だけGoogleアドセンスを貼る位置を変えたりするのに使ってます。

もちろん広告以外にも使えるテクニックですので、記事ごとに特別なことをしたいときにもお使いください。

キーワード
WordPress