WordPressでのuserAgentの出し分け
WordPressでは主に以下のブラウザ判定用のグローバル変数が使用される。
JavaScriptでIE11の処理が必要な場合はIE用のjsファイルを作成して以下のようにfunctions.phpに追記すればIEのときのみ処理することができるので、使用しないコードが読み込まれることがなくなる。
ちなみに$is_iphoneはiPhoneではなくiPhone Safariの判定で間違いやすいので使用しないほうが良い。
- $is_iphone (真偽値) – iPhone Safari
- $is_chrome (真偽値) – Google Chrome
- $is_safari (真偽値) – Safari
- $is_opera (真偽値) – Opera
- $is_gecko (真偽値) – FireFox
- $is_edge (真偽値) – Microsoft Edge
- $is_IE (真偽値) – Internet Explorer
function my_theme_script_ie() {
global $is_IE;
if ($is_IE) {
wp_enqueue_script(
'script-ie',
get_theme_file_uri('script/ie.js'),
array(),
12345,
true
);
}
}
add_action('wp_enqueue_scripts', 'my_theme_script_ie');
もしEdgeの場合は$is_IEを$is_edgeにする。
ブラウザ判定のグローバル変数は少なく、$is_iosや$is_androidは存在しないので作成しておくと良いだろう。
$is_ios = preg_match('/iPad|iPod|iPhone/', $_SERVER['HTTP_USER_AGENT']);
$is_android = preg_match('/Android/', $_SERVER['HTTP_USER_AGENT']);