WordPress

WordPressのブラウザ判定に使える便利なGlobal変数についての覚書

一部ですがユーザーが使用しているブラウザ・端末について、WordPress本体側で判定が行われているのをご存知でしょうか? HTML5/CSS3辺りのブラウザ対応の差を埋めるためくらいしかちょっと想像がつかないのですが、 […]

広告ここから
広告ここまで

一部ですがユーザーが使用しているブラウザ・端末について、WordPress本体側で判定が行われているのをご存知でしょうか?

HTML5/CSS3辺りのブラウザ対応の差を埋めるためくらいしかちょっと想像がつかないのですが、いざという時に便利そうなのでまとめてみました。

グローバル変数で使用できるブラウザ判定プロパティ

$is_iphone (boolean) iPhone Safari
$is_chrome (boolean) Google Chrome
$is_safari (boolean) Safari
$is_NS4 (boolean) Netscape 4
$is_opera (boolean) Opera
$is_macIE (boolean) Mac Internet Explorer
$is_winIE (boolean) Windows Internet Explorer
$is_gecko (boolean) FireFox
$is_lynx (boolean) Lynx
$is_IE (boolean) Internet Explorer

Lynxに対応しつつ、Androidに対応していない辺りちょっと謎だったりしますが・・・

ちなみにiPadは$is_iphoneで対応できるみたいです。

is_IEについて補足

IE系の変数が「is_macIE」「is_winIE」「is_IE」と3つありますが、ソースを見る限り「 is_macIE + is_winIE = is_IE 」みたいです。

[php]
$is_IE = ( $is_macIE || $is_winIE );
[/php]
WordPress/vars.php

大体「is_IE」でいけるので、よっぽどの事がなければ「is_macIE」「is_winIE」を使う機会は無いのではないかと思います。

使い方

使い方は非常に簡単で、「global 変数名」で呼び出した後に通常の変数としてそのまま扱うことができます。

Chromeだけ処理を変える場合のif分岐

[php]
global $is_chrome;
if($is_chrome){
//ここにChromeオンリーの処理を書く
}
[/php]

IE絶対殺すマン

[php]
global $is_IE;
if(!$is_IE){
//IEの時だけ処理しない
}
[/php]

おまけ:それぞれの判定内容ピックアップ

せっかくなのでそれぞれの変数をtrueにしている判定部分を引っこ抜いてみました。

$is_chrome
stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') !== false && stripos( $_SERVER['HTTP_USER_AGENT'], 'chromeframe' ) === false 
$is_safari
stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false
$is_NS4
strpos($_SERVER['HTTP_USER_AGENT'], 'Nav') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla/4.') !== false 
$is_opera
strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false
$is_macIE
strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false 
$is_winIE
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== false ) && strpos($_SERVER['HTTP_USER_AGENT'], 'Win') !== false
$is_gecko
strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') !== false 
$is_lynx
strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx') !== false 
$is_iphone
$is_safari && stripos($_SERVER['HTTP_USER_AGENT'], 'mobile') !== false
$is_IE
$is_macIE || $is_winIE 

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts

グローバル変数 判定処理