AdSenseの表示をショートコードでの呼び出しにしました

スポンサーリンク

WordPress
functions.php をいじって、WordPressの<!--more-->タグをGoogleAdSenseに置き換えていましたがやめました。

やめた理由は一つ、noadカテゴリでも表示されるからです。

noadカテゴリとは、GoogleAdSenseの規約違反になりかねない表現がある記事に対し、あらかじめAdSenseを表示させないようにしているカテゴリのことです。

具体的な方法は『AdSenseを表示させないカテゴリを作成』にて書いていますので参考にしてください。

ですが、このコードをそのままmoreタグに置き換えるようにしていたにも関わらず、切り替えが行われずにnoadカテゴリでもAdSenseが表示されていたのです。

この具体的な方法は『WordPressのmoreタグにAdSenseを表示させる』にて書いています。

なのにnoadカテゴリでAdSenseが表示されてしまうのであれば、noadカテゴリの意味がないということで中止したわけです。

[AdSense]

スポンサーリンク

不具合の原因と対策

一体なぜAdSenseコードが表示されてしまうのか。
moreタグをAdSenseコードに置き換えるようにするまでは複数のカテゴリにまたがるよう設定していてもAdSenseコードは表示されませんでしたから、moreタグを置き換える方法に問題があるのでないかと考えます。

しかし、具体的にどこを修正すればいいのか今の知識ではわかりません。
そこで今回、moreタグをAdSenseコードに置き換えるのはやめて、手動でAdSenseコードを挿入するようにしました。

とはいえ、毎回AdSenseコードを貼り付けるのはめんどうですし、何かの要因でAdSenseコードをのけなければならない場合もめんどうですから、ショートコードを使ったAdSenseコードの挿入を行うようにしました。

ショートコードを登録する

まず、functions.phpに下記のようにショートコードを登録します。

function AdSense() {
  return 'ここにアドセンスのコード';
}
add_shortcode('AdSense', 'AdSense');

注意すべきは、function AdSense() のAdSenseと add_shortcode('AdSense', 'AdSense');の2個目のAdSenseは同一の単語にしなければならないということ。

add_shortcode('AdSense', 'AdSense'); のひとつめはショートコードで後ろのAdSenseは登録したショートコードの関数を呼び出しています。

記述内容

あとは、上記ショートコードで登録したAdSenseコードを表示したいところに[ AdSense ] 1 と記述します。

もしmoreタグのところに表示したいのであれば、

ほげほげ  
<!--more-->[ AdSense ]

ほげほげほげほげ

と書きます。

問題点

ここで一つ問題がでてきました。

それは過去記事。
これまでAdSenseコードをテンプレートに埋め込んで表示させていましたから、moreタグ部分に表示させていたAdSenseコードについては、現状表示されていない状態です。

過去記事にも検索よりアクセスはありますから、もったいない。

とはいえ、すべての記事に対して修正をかけるのはめんどうです。

一括して修正する方法もありますが、ひとまずアクセス数の多いものから順に手動で修正をかけていきます。

ついでに記事の見直しもおこなってより見やすいものに修正すればいいかなという考えからですけど。


  1. 本当は[]に半角スペースは含んでいません。 

タイトルとURLをコピーしました