人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

<?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スクリプトがなんとな?くだけわかる程度

●質問者: ak
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント ベストアンサー

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 のところに広告を表示するタグを入れ込めば、広告を切り替えることができると思います。


akさんのコメント
大変ありがとうございます。 ちなみにdisplay;noneで広告を表示したり非表示したりということになりますでしょうか? 以前どこかでdisplay;noneはあまりよくないなんて見たことがありまして、インラインで指定した場所に表示するとき他になにか方法はありますか?

a-kuma3さんのコメント
>> ちなみにdisplay;noneで広告を表示したり非表示したりということになりますでしょうか? << ああ、そうか。 スタイルシートを切り替えているから、そう思っちゃいますよね。 広告を切り替えるには、こんな具合です。 >|php| <?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 タグなのか分かりませんが、それぞれの場所に広告を表示するタグをペタッと貼ってください。

akさんのコメント
ほんとうにほんとうにありがとうございます!!!!!!! 解決しました!!できました! wp_is_mobile()はスタイルシート含め二度使う事ができるんですね! 勉強成りました。 また今後ともなにかありましたらよろしくお願いいたします!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ