フォーラムへの返信

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: 条件分岐による要素のコントロールについて
    トピック投稿者 musaceae

    (@m2x0cn79ijkl)

    taku-kさんのコードに従って

    <?php if(is_front_page()): ?>
    	<?php if (!wp_is_mobile()): ?>
    		<?php global $is_chrome; global $is_opera; ?>
    		<?php if ($is_chrome||$is_opera): ?>
    			[ WebPに置き換えたJs要素 ]
    		<?php else: ?>
    			[ JPEGで構成したJs要素 ]
    		<?php endif; ?>
    	<?php endif; ?>
    <?php endif; ?>

    としてみたところ
    Chrome & Opera とそれ以外のWebブラウザをしっかり判別して
    当初考えていた通りに動作してくれています!

    実のところphpについては基本的な構文さえよく分かっていない体たらくなんですが
    <?php global $is_chrome; global $is_opera; ?>
    という部分が必要だったんですね。

    相談に乗って頂けたばかりか
    ドンピシャの解決策まで導き出して頂き、ありがとうございました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 条件分岐による要素のコントロールについて
    トピック投稿者 musaceae

    (@m2x0cn79ijkl)

    taku-k さんからのアドバイスを受けて

    <?php if(is_front_page()): ?>
     <?php if (wp_is_mobile()): ?>
      <?php if ($is_chrome||$is_opera): ?>[ WebPに置き換えたJs要素 ]
      <?php else: ?>[ JPEGを多用したJs要素 ]<?php endif; ?>
     <?php endif; ?>
    <?php endif; ?>

    としてみたところ、Js要素が表示されるようになりました!

    ・・・ が
    Chrome と Opera であっても なぜか
    [ JPEGを多用したJs要素 ]
    のほうが読み込まれてしまい
    Webブラウザを判別した条件分岐がうまくいきません。

    本件に関係があるかはわからないのですが

    onzeブログさんの投稿
    各ブラウザごとに条件分岐できるグローバル変数
    http://on-ze.com/archives/3082

    では

    <?php if ( $is_IE ){ // 処理内容 } ?> と書くだけでは動きません。
    例えば[Internet Explorer]で分岐したいときは以下のように記述します。
    <?php global $is_IE; if ( $is_IE ) { Internet Explorer のときの処理内容 } ?>

    と紹介されおり、
    WordPressを扱った多くのWebサイトさんで紹介されている

    <?php if ($is_chrome): ?>
      Chrome で表示させたい内容
    <?php else: ?>
     それ以外で表示させたい内容
    <?php endif; ?>

    といったグローバル変数の使い方とは記述の仕方が多少異なっていることから
    グローバル変数の扱い方自体が間違っているのかとも思えてきました。

2件の返信を表示中 - 1 - 2件目 (全2件中)