【WordPress】プラグインを使わずにUserAgentを判断する方法

DSC08140

2013年06月06日(木)

こんちわ。 今回は良くありそうな、スマホとPCでレイアウトを変えたい場合等に重宝するTipsです。 普通なら有名なプラグインWPtouchがあると思いますが、それを使わないでそれそれおうの対応をするには。 というところで書き残したいと思います。



まぁ普通通り判別手段は、もちろんUserAgentですね。 これはもう一般的なキーワードです。


参考にしたサイト様は以下になります。


http://www.abilitydesign.net/2011/06/iphoneandroid—useragent.html


ありがとうございます。

 

まず設定

今回プラグインを使わずに対応しますので、少しファイルやフォルダをいじる事になります。
まず、適応されているテーマのフォルダの中にincludeフォルダを作成します。

/sample_thame/include


  そこへ、以下スクリプトを含んだファイルを置きます。 ここではis_mobile.phpとしましょう。


<?php
<span style="font-size: 13px; line-height: 19px;">function is_mobile () {</span>
 $useragents = array(
 'iPhone', // Apple iPhone
 'iPod', // Apple iPod touch
 'Android', // 1.5+ Android
 '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']);
 }
?>



  こちらはかの有名なWPtouchのものを流用しているらしく、判断基準がおそらく同じです。 これを気軽に使わない手はないですね。



使い方は?

で先ほどの関数を使う方法ですが、 利用したいテンプレートファイルにて以下をincludeします。


<?php <em>include_once("/includes/is_mobile.php"); </em>?>



  そしてこれ、


<em><?php if (is_mobile()) : ?></em>

// ここにモバイル処理

<em><?php else: ?></em>

// ここに通常処理

<em><?php endif; ?></em>



  これで対応できます。



最後に・・・

まぁ普通にWPTouchを使えって話なんですが、 導入するほどでもない場合等にシンプルにPHPの知識だけあれば使えるのでこちらをつかってみるのも良いと思います。 ありがとうございます。

 

スポンサードリンク

運営サービスPR

スポンサードリンク

運営サービスPR