こんにちは、Webプログラマー兼ブロガーのwishigrowです。
wordpressの記事中にアドセンス広告を表示させるにはmoreタグで自動的に表示させるのがベストだと思います。
しかし問題があります。
アドセンスはお酒を宣伝したり販売したりするサイトでの広告表示を禁止しているのです。
(その他にもアダルトとか色々禁止事項がある。)
でも、お酒の話題も書きたいし、その際はアマゾンの商品リンクも掲載したい。
というわけで、moreタグにアドセンス広告を載せつつ、記事のカテゴリでアドセンス広告を表示・非表示を切り替える方法が分かったので記載しときます。
ソースコード
functions.phpに下記を追加します。
<?php add_filter('the_content', 'adMoreReplace'); function adMoreReplace($contentData) { if(in_category( 'カテゴリーID' ) ){ //空欄 }else{ $adTags = <<< EOF //アドセンスのコードをコピペ EOF; } $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; } ?>
ポイント
まず条件分岐のin_category()が間違えやすいですね。isと。
カテゴリーIDの調べ方は分かりますか?
管理画面のカテゴリーページの対象カテゴリにマウスを乗せると、左下にリンクが表示されて、中にある数字がIDです。
まとめ
これで心置きなく酒の記事が書けますね。
これが分からなかった時は、cssでdisplay:noneをしていました。
解決できて、とてもすっきりしています。
募集中のイベントはありません