WordPressで記事ごとにアドセンス表示/非表示を切り替える方法

当ブログの記事に共感していただけたら、また読みに来ていただけると嬉しいです。読んでくれる方の数が多くなると、更新するヤル気に繋がります(^^)

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

DSC_3711

アドセンスを利用する際には、広告を表示させてはいけない禁止コンテンツがあります。一番間違いやすいコンテンツは、お酒・アルコール類の販売・宣伝です。

美味しかった地ビールなどをブログ記事内で紹介しつつ、楽天市場アフィリエイトなどで商品リンクを張ってしまうと「ビールの販売・宣伝」となり、ポリシー違反となってしまいます。ちなみにワイン・シャンパンはOKです。

「知らなかった」では済まされない!全てのアドセンス利用者が知っておくべき「ポリシー違反」と対策方法

WordPressで、記事ごとにアドセンスを表示/非表示する方法を紹介します。

スポンサーリンク

力技で

今回紹介する方法はかなり力技です。

1)「noads」とネーミングしたカスタムフィールドを作る

2) テンプレート内に

<?php if(!$noads = get_post_meta($post->ID, 'noads', true)): ?>
アドセンスコード
<?php endif; ?>

のようにif文で挟んだアドセンスコードをコピペする。

です。アドセンスを表示させたくない記事は、noadsのフィールドに「1」など、何でも良いので書き込みをするだけで、アドセンスが表示されなくなります。

プログラムのわかる人は、フィールドに代替広告のコードを入力できるようにすると、もっと便利になると思います。

記事中のアドセンス切り換え

記事中にアドセンスを表示させるために、Master Post Advertプラグインを利用している人は多いと思います。しかし、このプラグインを使うと、アドセンス表示の記事ごとの切り換えができません。

当ブログでは、プラグインは利用せず、function.phpに次のようなプログラムを書いて対応しています。

<?php
//記事中アドセンス
add_filter('the_content', 'adMoreReplace');
function adMoreReplace($contentData) {
global $wp_query;
$adTags = <<< EOF
<div class="ad_middle">
<div style="margin-bottom:5px;">スポンサーリンク</div>
※アドセンスコード
</div>
EOF;
$post = $wp_query->get_queried_object();
$adsflag = get_post_meta($post->ID, 'noads', true);
if($adsflag) $adTags = '';
$contentData = preg_replace('/<span id="more-[0-9]+"><\/span>/', $adTags, $contentData);
$contentData = str_replace('<p></p>', '', $contentData);
$contentData = str_replace('<p><br />', '<p>', $contentData);   
return $contentData;
}
?>

とりあえず9JPさんで紹介されていたコードを流用させていただきました。ありがとうございます。

デフォルトではアドセンスが記事中に表示されますが、上述と同じく、noadsフォームに何かを書き込むと、表示されなくなります。ぜひお試しください。

▼▼▼▼

なお、先日の記事でも述べたように、記事中のアドセンスは「ラベル違反」をする可能性があります。直前に「スポンサーリンク」の文言を入れましょう。

今日のわかった

MovableytpeでもカスタムフィールドとMTタグのif文を使えば、簡単に実装することができます。

無料ブログサービスでは、こういった工夫はできないんですよね。

関連記事
スポンサーリンク

当ブログの記事に共感していただけたら、また読みに来ていただけると嬉しいです。読んでくれる方の数が多くなると、更新するヤル気に繋がります(^^)

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

フォローしていただけると、ブログ更新を見逃しません

push7 feedly
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です