date. 2012/10/29

category. WordPress

モバイル判定

まず、モバイルかどうか判定します。

<?php
/**
 * [is_mobile]
 * @return boolean
 */
function is_mobile () {
	$useragents = array(
		'iPhone',         // Apple iPhone
		'iPod',           // Apple iPod touch
		'Android',        // 1.5+ Android
		'dream',          // Pre 1.5 Android
		'CUPCAKE',        // 1.5+ Android
		'blackberry9500', // Storm
		'blackberry9530', // Storm
		'blackberry9520', // Storm v2
		'blackberry9550', // Storm v2
		'blackberry9800', // Torch
		'webOS',          // Palm Pre Experimental
		'incognito',      // Other iPhone browser
		'webmate'         // Other iPhone browser
	);
	$pattern = '/'.implode('|', $useragents).'/i';
	return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
?>

で、モバイルの場合はtrueが返ってくるので様々な場面で使えると思います。

テンプレートの変更

上記の『is_mobile』を使用します。

jQueryMobileは一つのページで展開するのでハッシュをつけてページを返します。

<?php
if (is_mobile()) {
	$path = $_SERVER['REQUEST_URI'];
	if($path === '/'){
		include (TEMPLATEPATH . '/smartphone/page.php');
		exit();
	}else{
		$uri = substr($path, 1, strlen($path)-2);
		header('Location: http://test.com/#'.$uri);
		exit();
	}
}
?>

とすることで、該当のページへ飛ばす事が出来ます。

参考サイト

関連記事