Google-Adsense

このブログには、横幅468を2つ設置しています。

1つは、文中に、もう1つは記事の最後に設置しているのですが、このままモバイルで表示させると画面からはみ出てしまいます。

そこで、wp_is_mobile関数を使います。

wp_is_mobile関数

表示切り替えのための基本構文

iPadをモバイル認識させない

このwp_is_mobile関数では、iPadもモバイルとして認識してしまうため、わたしは、functions.phpに以下の様に記述。

これで、iPadは、PC表示となります。

次に、single.phpに

と記述すれば、iPadをモバイル認識させずに切り替えをさせることが出来ます。

モバイル向け AdSenseを実際に使ってみる

まずは、ともあれコードを取得しなければなりません。

モバイル向け AdSenseを作成する

広告の設定 ⇒ モバイル コンテンツ向け AdSenseを選択し、広告ユニットを作成していきます。

通常の作成とほぼ同じですが、以下の項目は次の様に設定しました。

  • マークアップ言語 ⇒ XHTML(WAP 2.0)
  • エンコード ⇒ 自動判別
  • スクリプト言語 ⇒ PHP(v4.3 以降)

取得が完了したので、このまま先ほどの構文内にコードを貼り付けるだけ。。。

だと思っていたのですが、ここでまさかのエラーを吐き出されてしまいました。

Google Adsenseのモバイル版のエラー解消方法

吐き出されたエラーコードは以下のモノです。

PHP Fatal error: Call to undefined function read_global() in *** on line **

原因

先ほどのエラーの意味は、read_global()という関数が未定義だよもしくは、関数名が間違っているよということらしいのですが、Googleがそんなコードを貼り付けてと?

と、はてながいっぱい並びましたが、

PHP では、関数は参照される前に定義されている必要はありません。 条件付きで関数が 定義されるような場合を除きます。 ある条件下でのみ関数が定義される場合には、 その関数定義は関数がコールされる前に 行われていなければなりません。

ユーザー定義関数 | PHP

とあり、条件分岐をしていることが原因だったようです。

対策

原因が分かったのであとは、対策です。

function が集まった以下のブロックを1番初めにもってきます。

これでエラーが出なくなり、正常に表示されます。

と、これで表示はできたのですが、モバイル向け AdSenseの貼り付けられる個数というのが、1ページに対して1つと決められていた

Ad

ということに、作成しながら気づき、文中のものはそのままCSSで無理やりカットしているのでこれもどうするか検討しないといけないなと思っている今日このごろです。

ADVERTISEMENT

Author:

follow FacebookPage

当ブログがお気に召しましたら是非いいね!をお願いします!

Follow Me

閲覧頂きありがとうございました:)

Message

トップへ戻る