wordpressカスタマイズ

moreタグにアドセンス広告を表示し、カテゴリで表示・非表示を分岐

投稿日: カテゴリー web, wordpressタグ

こんにちは、Webプログラマー兼ブロガーのwishigrowです。

wordpressの記事中にアドセンス広告を表示させるにはmoreタグで自動的に表示させるのがベストだと思います。

しかし問題があります。
アドセンスはお酒を宣伝したり販売したりするサイトでの広告表示を禁止しているのです。
(その他にもアダルトとか色々禁止事項がある。)

でも、お酒の話題も書きたいし、その際はアマゾンの商品リンクも掲載したい。

というわけで、moreタグにアドセンス広告を載せつつ、記事のカテゴリでアドセンス広告を表示・非表示を切り替える方法が分かったので記載しときます。

(スポンサードリンク、いったんCMです。
ここまで)

ソースコード

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をしていました。
解決できて、とてもすっきりしています。

ぼ、ぼ、ぼ、募集中!

参加者募集中

2017年10月22日(日)13:30~フォーチュンクッキーと人狼の会初心者歓迎!

投稿者:

wishigrow

ウィッシグゥローと発音して下さい。 イラスト制作とWebプログラミング、イベント企画が得意なマルチクリエイターです。 妻に逃げられた男。 元議員秘書。 元ディズニーシーキャスト。 基本フォロー返ししています。宣伝アカウント以外はね。

コメントを残す

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