スマホとPCの表示を別ファイルに分けてコーディング

WordPressで作ったサイトを、後付でスマホ対応にしたい。

テンプレートを使うならいいけど、自分でレスポンシブサイトを作るのは嫌だ。
既存サイトに後付なら、もっと嫌だ。
最悪だ。
いっそリニューアルにしてくれ。
なので、テーマファイル内に細工をして、PCとスマホで表示の切り分けをする。

例)テーマ内のsingle.phpでやってみる

まず、templateというフォルダを作成し、その中にpc.phpとsp.phpを設置。
それぞれのファイルにPC用、スマホ用の表示に最適化したコーディングをする。
pcからアクセスがあった場合はpc.phpをスマホの場合はsp.phpを呼び出すようにする。

こんな感じ。

if ( spSwitch() == 'pc' ){
	include  get_template_directory() . '/template/pc.php';
	exit();
}else{
	include  get_template_directory() . '/template/sp.php';
	exit();
}

function spSwitch(){
	$ua = $_SERVER['HTTP_USER_AGENT'];
	$pf = ((strpos($ua,'iPhone')!==false)||(strpos($ua,'iPod')!==false)||(strpos($ua,'Android')!==false)||(strpos($ua,'BlackBerry')!==false)||(strpos($ua,'Windows.Phone')!==false));

	if ($pf){
		return 'sp';
	}else{
		return 'pc';
	}
}

もちろん、別ファイルを呼び出さず、全部single.phpに書いてもいいけど、ソースが見にくくなるのでいや。
categoryやarchiveでも、templateフォルダ内のファイル名を変えて複数用意すれば同じことができる。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする