WordPressでPCサイトとスマホサイトの表示切り替えをレスポンシブデザインで検討していたのですが、ユーザーエージェントを条件にした、HTMLソースレベルの変更が捨て切れないと感じることもあります。
ページの振り分けではなくソースの部分的な変更をしたいので、htaccessは使えません。WordpressならPHPで$_SERVER['HTTP_USER_AGENT']
を取得して振り分けるのが手っ取り早いです。
関数化しておけば便利
以下のように関数化してしまえばさらに楽です。スマホならばtrue
、違えばfalse
を返します。
function is_smartphone(){ $ua = $_SERVER['HTTP_USER_AGENT']; return ((strpos($ua, 'iPhone') !== false ) || ((strpos($ua, 'Android') !== false) ) || (strpos($ua, 'Mobile') !== false ) || (strpos($ua, 'Windows Phone') !== false ) || (strpos($ua, 'BlackBerry') !== false )) ? true : false ; }
すでにWordpressのテンプレートタグが容易されていた…
しかし、ここで衝撃の事実が判明。Wordpressにはモバイルデバイスを判別する条件タグがすでにあった!!!
Wordpress3.4から使えるらしい…。知らなかった…。
<?php wp_is_mobile(); ?>
ちくしょーっ、お手軽で便利そうだから使ってやるよ!(泣)