ワードプレスで質問です。


【やりたいこと】
アイフォンとアンドロイドで表示する広告を変えたい

【問題になっていること】

<?php if (wp_is_mobile()) :?>
<link rel="stylesheet" href="****①" type="text/css" />
<?php else: ?>
<link rel="stylesheet"
href="*****②" type="text/css" />
<?php endif; ?>

と現在スマフォとPCで適用するスタイルシートを変えております。

↑の条件をいろいろ変えたら可能か?と思いいろいろグーグル先生にたよりましたが、アイフォンとアンドロイドで表示を変えるまでのものはありませんでした。

ご教授いただけると幸いです。

【自分の知識】
PHPとJAVAスクリプトがなんとな~くだけわかる程度

回答の条件
  • 1人20回まで
  • 登録:
  • 終了:2013/10/24 11:36:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント100pt

Wordpress の wp_is_mobile() が、こんな実装になってます。
http://core.svn.wordpress.org/trunk/wp-includes/vars.php

判定に使われているのは「ユーザーエージェント」いう文字列。
一覧を確認してみると、'iPhone' と 'Android' という条件で判定すれば良さそうです。
http://www.openspc2.org/userAgent/

というわけで、こんな感じでいけるんじゃないかと思います。

<?php if (wp_is_mobile()): ?>

    <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') !== false): ?>
        <!-- iPhone 用 -->
        <link rel="stylesheet" href="****" type="text/css" />

    <?php elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false): ?>
        <!-- Android 用 -->
        <link rel="stylesheet" href="****" type="text/css" />

    <?php else: ?>
        <!-- その他のモバイル用 -->
        <link rel="stylesheet" href="****" type="text/css" />

    <?php endif; ?>

<?php else: ?>
    <!-- PC 用 -->
    <link rel="stylesheet" href="****" type="text/css" />

<?php endif; ?>

このコードでは LINK タグを変えてますが、それぞれの if のところに広告を表示するタグを入れ込めば、広告を切り替えることができると思います。

他1件のコメントを見る
id:a-kuma3

ちなみにdisplay;noneで広告を表示したり非表示したりということになりますでしょうか?

ああ、そうか。
スタイルシートを切り替えているから、そう思っちゃいますよね。
広告を切り替えるには、こんな具合です。

<?php if (wp_is_mobile()): ?>

    <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') !== false): ?>
        <!-- iPhone 用の広告 -->
        広告のタグ(その1)

    <?php elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false): ?>
        <!-- Android 用の広告 -->
        広告のタグ(その2)

    <?php else: ?>
        <!-- その他のモバイル用の広告 -->
        広告のタグ(その3)

    <?php endif; ?>

<?php else: ?>
    <!-- PC 用の広告 -->
    広告のタグ(その4)

<?php endif; ?>

使おうと思っている広告のタグは、SCRIPT タグなのか、IFRAME タグなのか分かりませんが、それぞれの場所に広告を表示するタグをペタッと貼ってください。

2013/10/23 22:49:30
id:akakak

ほんとうにほんとうにありがとうございます!!!!!!!
解決しました!!できました!

wp_is_mobile()はスタイルシート含め二度使う事ができるんですね!
勉強成りました。
また今後ともなにかありましたらよろしくお願いいたします!

2013/10/24 11:29:44

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません