「AdSense Invalid Click Protector (AICP)」を使用する為、functions.phpを変更したが…(;_;)

投稿者: | 2021年1月23日

AdSense アカウントでの広告配信の制限がかかった為、今後このようなことがないようにプラグイン「AdSense Invalid Click Protector (AICP)」を入れることにした。しかしこのプラグインは入れるだけでなく、functions.phpを変更する必要があり、それが大変で…。いろんなサイトを参考に行おうとするが、私には難しく何度断念しようか…と思ったことか…。😖

AdSense Invalid Click Protector (AICP)

何度も壁にぶつかりながらも何とか設定が出来たので、それらの体験を書いてみることにする。

WordPressは始める時にテーマを選ぶのだが、テーマを決めたら自分で子テーマを作成してアップすることが基本?となっている。全然こだわりがない人はそのまま使用しても良いのだが、自分で選んだテーマをカスタマイズしたい人は子テーマを作成し、その子テーマをカスタマイズしてアップして使う。そうでないとテーマがアップデートされた時、せっかくカスタマイズした内容がリセットされてしまう為。

私も子テーマを作成して使っているので、そこに「functions.php」のファイルもあると思っていたがなかった。ずいぶん昔に子テーマを作成したので全然覚えてなかった。😅

WordPressの「ダッシュボード」 → 「 外観」  →  「テーマエディター」と選んでいくと、そちらに子テーマが見える。

テーマエディタ

 

私はテーマ「 Iconic One」を使って子テーマを作っている。なので「この子テーマは親テーマ Iconic Oneのテンプレートを引き続きます。」となっている。私が作成した子テーマの中に「functions.php」はなかったので親テーマのIconic Oneの「functions.php」が使われている状況だった。

子テーマ

 

この状況だと親テーマの「functions.php」を変更することになる。しかしカスタマイズするのは子テーマの方が良いはずなので、子テーマに「functions.php」を作ることにした。

functions.php

 

今回は念のために新しい子テーマ「iconic One_child2」を作成しそちらにfunctions.phpのファイルも入れ込んだ。

functions.php

 

私はDreamweaverで「functions.php」を作成し子テーマ「iconic One_child2」をアップした。

「functions.php」はコードを間違うとブログが真っ白になったり、開かなくなったりするので注意が必要との書き込みあちらこちらに載っていた。案の定、私も下記のようにエラーが表示されダッシュボードが開かなくなった。😱 on line 〇と表示されているが、エラーの行を表示してくれているようだ。

functions.php エラー

functions.php エラー

ダッシュボードが開かずエラーが表示されるので、WordPressでの編集は無理。FTPソフトでDreamweaverで作成していた「functions.php」を修正し差し替えを行ったら無事エラーが回避された。どーも私の場合無駄なスペース行がエラーの原因だったような気がする。🙄

 

それ以外にもエラーが生じた。全てのページに上の方に、「function ad01Func() { if( aicp_can_see_ads() ) { $adCode = ‘」のように表示された。これは「functions.php」に「<?php」が抜けていた為だ。PHPファイルを扱ったことがなく、PHPファイルは「<?php」を記述しないいけないようだ…。😅

function ad01Func() { if( aicp_can_see_ads() ) { $adCode = '

 

私が子テーマで作成した「functions.php」は下記の通り。私の場合、広告が2つ種類あるので2つの広告が入っている。他の方も下記の2点を修正すれば、このまま使えるのでは…。

  • data-ad-client=”ca-pub-●●●●●●●●●●” ←パブリッシャー ID AdSense コード
  • data-ad-slot=”**********” ←広告1つ1つに振られている番号。広告の種類の数だけある。

 

AdSense Invalid Click Protector プラグインについていろんなサイトに説明が載っていたが、私はpi-koさんのサイトの方法でやっとうまくいった。pi-koさん、ありがとうございます!🥰

<?php
function ad01Func() {
if( aicp_can_see_ads() ) {
$adCode = ‘
<div class=”aicp”>
<script async src=”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”></script>
<!– ユニット1 –>
<ins class=”adsbygoogle”
style=”display:block”
data-ad-client=”ca-pub-●●●●●●●●●●”
data-ad-slot=”**********”
data-ad-format=”auto”
data-full-width-responsive=”true”></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>’;
return $adCode;
} else {
return ‘<div class=”error”>スポンサードリンク</div>’;
}
}
add_shortcode(‘ad01’, ‘ad01Func’);
function ad02Func() {
if( aicp_can_see_ads() ) {
$adCode = ‘
<div class=”aicp”>
<script async src=”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”></script>
<!– ユニット1 –>
<ins class=”adsbygoogle”
style=”display:block”
data-ad-client=”●●●●●●●●●●”
data-ad-slot=”##########”
data-ad-format=”auto”
data-full-width-responsive=”true”></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>’;
return $adCode;
} else {
return ‘<div class=”error”>スポンサードリンク</div>’;
}
}
add_shortcode(‘ad02’, ‘ad02Func’);

「AdSense Invalid Click Protector (AICP)」を使用する為、functions.phpを変更したが…(;_;)」への2件のフィードバック

  1. pi-ko

    らら母さん
    紹介ありがとうございます

    テーマって継承できるんですね。初めて知りました
    子どものテーマに同名のファイルがあると上書きじゃなくて追記される感じなのかな・

    返信
    1. らら母さん 投稿作成者

      こちらこそ、良い記事ありがとうございました。(^^)

      今回、とにかくいろいろと調べて…
      コチラのサイトに…

      WordPressのシステム的には子テーマのfunctions.phpを読み込んだ後で親テーマのfunctions.phpを読み込むので

      と書かれていたので大丈夫かと、同じファイル名で追加したい内容のみ子テーマに記述しました。

      親テーマと子テーマとで同じ関数名を使うとダメのようで、そちらは注意が必要ですね。

      返信

コメントを残す

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