[試] スマートフォンからのアクセスを判別する方法 | ユーザーエージェント(User-Agent)の活用

[試] スマートフォンからのアクセスを判別する方法 | ユーザーエージェント(User-Agent)の活用

こんにちは、marubon(@marubon_jp )です。

WordPressテーマカスタマイズ用の小技として、スマートフォンからのアクセスを判別する方法を紹介します。

SPONSORED LINK

スマートフォンからのアクセス判別の利用用途

スマートフォン用の特定の処理(スマートフォン専用のCSS読み込みや表示ロジックの追加等)を実装したい場合に使用します。

WordPressのテーマをカスタマイズする上で意外と必要になる場が多く、利便性を考慮しPHPの関数として実装しました。そのコードと利用方法を解説します。

スマートフォンからのアクセス判別用関数

以下がスマートフォンからのアクセスを判別するコード(PHP関数)です。WordPressテーマのfunction.phpに追記して使用します。

スマートフォンとして判別したいUser-Agentとアクセス元のUser-Agentと比較し、該当した場合にtrueを返します。

判別対象を調整したい場合は、必要に応じてarray()内を修正して下さい。

尚、functions.phpの編集には十分注意して下さい。編集内容に不備があった場合、画面が真っ白になり管理画面にアクセスできなくなります。事前に必ずバックアップを取得して下さい。

ユーザエージェントの判定部分(マッチング処理)にpreg_match関数を使用していますが、strpos関数を使用した方が高速という情報を目にしたのでstrpos版も紹介しておきます。使用関数の違いのみでロジックに差異はないので、お好きな方を使用して下さい。

スマートフォンからのアクセス判別用関数の利用方法

WordPressテーマのPHPコード内で上記関数(is_smartphone())を呼び出して使用します。

まとめ

スマートフォンからのアクセスを判別する方法として、is_smartphone()関数とその利用方法を紹介しました。