条件分岐による要素のコントロールについて
-
WordPressで用意されている条件分岐タグとグローバル変数を組み合わせて使いたいのですが、うまく動かせず手詰りになってしまいました。
まず
◯ フロントページにだけ表示させる
<?php if (is_front_page()): ?>
[ 容量の大きなJPEGを多用したJs要素 ]
<?php endif; ?>この状態からスタートして
◯ モバイル環境では表示させない
<?php if (is_front_page()): ?>
<?php if (!wp_is_mobile()): ?>[ 容量の大きなJPEGを多用したJs要素 ]<?php endif; ?>
<?php endif; ?>今はこのようにしており、ここまでの条件分岐については意図通りに動作しています。
この状態から更に推し進めて
読み込まれるWebブラウザの種類によって
[ 容量の大きなJPEGを多用したJs要素 ] ではなく
[ 容量を削減したWebPに置き換えたJs要素 ] を読み込むようにしてみようと思い立ち$is_chrome() と $is_opera() のグローバル変数を使って
<?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; ?>このようにしてみたのですが
[ 容量を削減したWebPに置き換えたJs要素 ] と
[ 容量の大きなJPEGを多用したJs要素 ] のどちらも読み込まれなくなってしまいました。試しに
<?php if (is_front_page()): ?>
<?php if (!wp_is_mobile()): ?>[ 容量を削減したWebPに置き換えたJs要素 ]<?php endif; ?>
<?php endif; ?>としてChromeで読み込むと
[ 容量を削減したWebPに置き換えたJs要素 ] は表示されるので
このJs要素が動かないので表示されない、という訳ではないようです。解決案あるいは解決につながりそうなヒント等がお分かりになる方が居られましたら
お知らせ頂ければと思います。
- トピック「条件分岐による要素のコントロールについて」には新たに返信することはできません。