wordpressのwp_is_mobileはモバイルとPCで表示を切り替えることができる便利なタグだが、タブレットでもスマートフォンでも適応されてしまうのが難点だ。
スマートフォンだけに表示を適応したい場合もあるとおもう
で調べてみたら、やっぱりタブレットとスマートフォンの表示を切り替えることができることが判明。
スマートフォンだけに表示・非表示を行う場合
1、functions.phpに以下の記述を記載。
//スマホ表示分岐
function is_mobile(){
$useragents = array(
'iPhone', // iPhone
'iPod', // iPod touch
'Android.*Mobile', // 1.5+ Android *** Only mobile
'Windows.*Phone', // *** Windows Phone
'dream', // Pre 1.5 Android
'CUPCAKE', // 1.5+ Android
'blackberry9500', // Storm
'blackberry9530', // Storm
'blackberry9520', // Storm v2
'blackberry9550', // Storm v2
'blackberry9800', // Torch
'webOS', // Palm Pre Experimental
'incognito', // Other iPhone browser
'webmate' // Other iPhone browser
);
$pattern = '/'.implode('|', $useragents).'/i';
return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
2、スマートフォンだけに表示したい部分には以下の記述を追加する。
<?php if (is_mobile()) :?>
スマートフォンでのみ表示させたいコード
<?php endif; ?>
PC・タグレットなどで表示したい部分は以下の記述を記載する
<?php if (!is_mobile()) :?>
PCでのみ表示させたいコード
<?php endif; ?>
functions.phpの編集をするときには、サーバーのfunctions.phpファイルから編集したほうが無難。
ちなみに、wordpressのテーマによってはすでにfunctions.phpの記載がある場合もある。
コメント