Google AdSense(アドセンス)の広告を特定の個別記事のみ非表示にしたいということがあると思います。
僕はアドセンスをWordPressのfunction.phpに記述しているため、その方法を見つけるのに時間がかかりました。
見つけてからもコードの意味がわかりにくいので、久々に画面を真っ白にしてしまうというトラブル続出。
その後、何とかコードの意味を理解したので、簡単に非表示にすることができました。
今回は、function.phpにアドセンスコードを記述している方限定で、特定の記事のアドセンスを非表示にする方法を忘備録を兼ねてご紹介します。
非表示にしたい記事のIDを調べる
まずはアドセンスを非表示にしたい個別記事のIDを調べる必要があります。
WordPressのダッシュボードの[投稿]→[投稿一覧]から検索し、アドセンスを非表示にしたい記事を探します。
非表示にしたい記事が一覧で出てきたら、その記事のタイトルにマウスを持っていくと、ブラウザの一番下に数字が出てきます。この数字をメモしましょう。
- post.php?post=3900&action=edit
上の例だと数字は「3900」です。記事をたくさん書かれている方は数字が5桁になっていることもあるので間違わないように注意しましょう。
もし複数の記事を特定する場合は、その他の記事のタイトルのID(数字)も同様にメモしてください。
function.phpに記述したアドセンスから、特定のアドセンスのみ非表示にする
僕はfunction.phpにアドセンスコードを記述しているため、少し特殊です。
そのアドセンスコードの記述を変更し、特定のアドセンスのみ非表示にしてみます。
ダッシュボードの[外観]→[テーマの編集]をクリック、右側の一覧から「テーマのための関数(function.php)」をクリックします。
そこから以前記述したアドセンスコードの欄を探しましょう。(子テーマの方は子テーマのfunctionphpになります)
その中に以下のコードがあります。
if(is_single()){
「single」とは個別記事という意味。ここの条件を変更する必要があります。
※function.phpは失敗すると画面を真っ白にしてしまい編集できなくなります。バックアップを取り慎重に実行してください。
XSERVER(エックスサーバー)とSixcore(シックスコア)の方で画面を真っ白にした方は下の方法で戻せます▼
【関連】[WordPress]functions.phpの編集時に、サイト画面を真っ白にしてしまった場合の直し方
このコードを以下のように変更します。
1記事のみ非表示
if (!is_single('数字'))
どこが変わったかというとisの前に「!」が入ったのと()の中に「'数字'」が入ったことです。数字とシングルコーテーションはもちろん半角です。
例えば上の例だと以下の通りになります。
if (!is_single('3900'))
この関数に変わったことで、「ID(3900の記事)以外は表示する」という意味に変わりました。
複数の記事を非表示
次に複数の記事のアドセンスを非表示にする場合です。
if (!is_single(array(数字 ,数字 ,数字) ) )
このような配列で条件を複数指定できます。arrayを使用しカンマで区切りましょう。数字とカンマは半角です。
最後に
ほとんど自分自身の忘備録として書いたこの記事ですが、同じようにfunction.phpに記述されている方がいれば、この記事が役に立つかと思います。
何度か書いていますが、function.phpは関数が間違っていると、画面が真っ白になります。必ずバックアップするのと、すぐに戻せるようにして編集しましょう。
XSERVER(エックスサーバー)とSixcore(シックスコア)の方は下の方法ですぐに戻せます。