プログラミングゆるめモ

プログラミングに関することをゆるくメモしてます

PHP WordPress

WordPress PC/Android/iPhoneを区別して表示を変える

2017/05/19

今は多くの端末が発売されており、画面の解像度もさまざまです。そのため使う端末により見え方が大きく異なってしまします。パソコンで見るのとスマートフォンで見るのとでは、かなり違いますよね。WordPressを使っていれば、PCかスマホかにより、自動的に表示レイアウトが変化します。自動でやってくれるのはよいのですが、自分が意図したように表示したいときもあります。
 たとえば、PCとAndroidとiPhoneで表示を変えたいとか、PCとタブレットでは表示して、スマホでは表示しないとか。そのような仕組みが、WordPressには備わっており、柔軟な対応が可能になっています。

具体的には、PHPのコードを記述して実行するのですが
[1]PHP実行用プラグインを入れて投稿中に記述する方法
[2]ショートコードを利用する方法
があります。
 プラグインを入れて投稿にPHPコードを記述するのは、セキュリティー的に問題があるといわれており、ここではショートコードを使用して切り分けコードを記述することを前提とします。
 なので、PHPコードはfunctions.phpに記述して投稿から呼び出します。

wp_is_mobile()   pc / モバイルタブレット

wp_is_mobile()は、標準関数です。PCかそれ以外(モバイル)かを判断します。
vars.phpに記述されています。

$is_iphone (boolean) iPhone Safari

これは、関数ではなく変数(標準変数)です。iphoneでブラウザがSafariなら、TRUEとなります。

PC/Android/iPhoneを切り分ける

残念ながら、PC/Android/iPhoneを切り分ける関数は用意されていないようです。
なので、自前で用意します。vars.phpを参考にすれば、簡単に切り分け方法はわかります。
functions.phpにコードを追加します。

is_android()

is_android()は、アンドロイドであれば、TRUEを返します。
それ以外ならば、FALSEです。

is_ios()

is_ios()は、iPhoneまたはiPadまたはiPodであれば、TRUEを返します。
それ以外ならば、FALSEです。

$useragentに入れる文字列を変えることにより、いろんな判断ができます。

具体的な使い方

ショートコードをfunctions.phpに追加します。
この例は、PC/Android/iPhoneを切り分けてPC/Android/iOSと表示するだけです。

投稿から、ショートコードを呼び出すには、[ショートコードの名前]とします。
すると、[ショートコードの名前]を記述した部分に、ショートコードの実行結果が表示されます。

-PHP, WordPress