• WP Mobile Detect 2.0 プラグイン の不具合?バグ? (mobile-detect.phpのバージョン2.8.22の影響)

    現象

    WP Mobile Detect 2.0」 プラグインを使って「BlackBerry PlayBook」のタブレット端末の判断を「wpmd_is_tablet()」で行っているが、真にならない。 他のタブレットでは正常に判断できている。 確認はGoogle Chrome デベロッパーのエミュレート表示を使った。

    結果

    「WP Mobile Detect 2.0」 プラグインのバグ、又は内容の更新が遅れていると予測される。 自分で修正したいが、PHPは初心者レベルなので修正箇所が特定できない。

    「WP Mobile Detect 2.0」 プラグインの自己責任アップデート

    WP Mobile Detect 2.0」 プラグインには以下の3つのファイルが入っている。

    1. readme.txt
    2. mobile-detect.php  2.8.13 これは古いみたい。
    3. wp-mobile-detect.php  2.0 Plugin URI: http://jes.se.com/wp-mobile-detect/

    2つ目の mobile-detect.php の最新バージョン(2017/03/30時点) 2.8.25 がココからダウンロードできる。ダウンロードした Mobile-Detect-master.zip に入っている (Mobile_Detect.php) を WinMarge ツールでファイル比較した結果、かなりの判定テーブルが追加されている事が判った。 Mobile_Detect.php を
    mobile-detect.php の
    大文字から小文字とアンダーバーをハイフンに変更して、FTPを使ってプラグインの古いファイルと入れ替える。 が、「BlackBerry PlayBook」のタブレット端末の問題だけは解決できなかった。orz

    WP Mobile Detect プラグインの機能

    PHP の関数と同様に WordPress 動作環境先(サーバー側では無く、クライアント側)に関する情報を提供する為の関数を提供する。よって、当プラグインをインストールしただけでは全く何の影響も機能も働かない。 クライアント端末がデスクトップか、スマフォか、iPhoneか、使っているブラウザは何か、を判断し、それによって動作を変えたい時に使える。「Widget Logic」プラグインの「条件分岐タグ」にも使える。上級者向けのプラグインと言ってもいい。以下の関数の一覧を見れば、何が出来るかが予想できると思う。

    WP Mobile Detect で使用できる関数一覧

    PHPから使用できるプラグインの関数は wpmd_is_*** の型。

     

     

      関数  機能
    wpmd_is_notphone()デスクトップPCやタブレット時に true
    wpmd_is_nottab()デスクトップPCやスマートホン時に true
    wpmd_is_notdevice()デスクトップ時のみに true
    wpmd_is_phone()スマートホン時のみに true
    wpmd_is_tablet()タブレット時のみに true
    wpmd_is_device()スマートホンやタブレット時に true
    wpmd_is_ios()iOS デバイス時に true
    wpmd_is_iphone()iPhone 時に true
    wpmd_is_ipad()iPad 時に true
    wpmd_is_android()Android 時に true
    wpmd_is_windows_mobile()Windows Mobile 時に true
    wpmd_is_blackberry()ブラックベリー時に true
    wpmd_is_chrome_browser()モバイル Chrome ブラウザ時に true
    wpmd_is_safari_browser()モバイル Safari ブラウザ時に true
    wpmd_is_opera_browser()モバイル Opera ブラウザ時に true
    wpmd_is_ie_browser()モバイル Internet Explorer ブラウザ時に true
    wpmd_is_firefox_browser()モバイル Firefox ブラウザ時に true

    BlackBerry PlayBook タブレットのユーザーエージェント 一覧

    下記はココから引用した。OS 2.1.0は別環境でテストしたが、同じ値だったので下記内容は信頼できると予測している。

    1. OS 1.0 – According to RIM it’s Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.8+ (KHTML, like Gecko) Version/0.0.1 Safari/534.8+
    2. OS 2.0.0 Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.0; en-US) AppleWebKit/535.1+ (KHTML, like Gecko) Version/7.2.0.0 Safari/535.1+
    3. OS 2.0.1 Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.1; en-US) AppleWebKit/535.8+ (KHTML, like Gecko) Version/7.2.0.1 Safari/535.8+
    4. OS 2.1.0 Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+

    使用したツール

    1. ユーザーエージェントを表示するサイト (User Agent String.Com)

    備考

    • header.php などに「useragents=(<?php echo getenv(‘HTTP_USER_AGENT’); ?>)」を入れると、表示している時のユーザーエージェントを画面で確認できる。 記事本文にはPHPコードを書いても動作しないで、注意が必要。 (セキュリティ強化か?