スマホでサイトを閲覧すると、上部に切り替えスイッチを表示。
functions.phpに関数追加
function check_view_device(){ $ua; $device; $ua = mb_strtolower($_SERVER['HTTP_USER_AGENT']); if(strpos($ua,'iphone') !== false){ $device = 'mobile'; }elseif(strpos($ua,'ipod') !== false){ $device = 'mobile'; }elseif((strpos($ua,'android') !== false) && (strpos($ua, 'mobile') !== false)){ $device = 'mobile'; }elseif((strpos($ua,'windows') !== false) && (strpos($ua, 'phone') !== false)){ $device = 'mobile'; }elseif((strpos($ua,'firefox') !== false) && (strpos($ua, 'mobile') !== false)){ $device = 'mobile'; }elseif(strpos($ua,'blackberry') !== false){ $device = 'mobile'; }elseif(strpos($ua,'ipad') !== false){ $device = 'tablet'; }elseif((strpos($ua,'windows') !== false) && (strpos($ua, 'touch') !== false)){ $device = 'tablet'; }elseif((strpos($ua,'android') !== false) && (strpos($ua, 'mobile') === false)){ $device = 'tablet'; }elseif((strpos($ua,'firefox') !== false) && (strpos($ua, 'tablet') !== false)){ $device = 'tablet'; }elseif((strpos($ua,'kindle') !== false) || (strpos($ua, 'silk') !== false)){ $device = 'tablet'; }elseif((strpos($ua,'playbook') !== false)){ $device = 'tablet'; }else{ $device = 'others'; } return $device; }
header.phpに以下を各自追加
[一番上]
/* 閲覧している端末を調べる */ $deviceflag = check_view_device(); if($deviceflag == "mobile") { session_start(); if(empty($_SESSION['device']['view'])){ $_SESSION['device']['view'] = "sp"; } if(!empty($_POST['view_switch'])) { if($_POST['view_switch'] == "pc") { $_SESSION['device']['view'] = "sp"; } else { $_SESSION['device']['view'] = "pc"; } } }
[head内]
// テンプレート名が表示されるcssを別で用意 <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url') ?>/style_main.css"> // 装飾するcssは端末別に設定 <?php if($_SESSION['device']['view'] == "sp"): ?> <meta name="viewport" content="width=device-width"> <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url') ?>/css/style_sp.css"> <?php else: ?> <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url') ?>/css/style_pc.css"> <?php endif; ?>
[bodyタグ直下]
<?php if($deviceflag == "mobile"): ?> <script type="text/javascript"> // form送信javascript $(function(){ $("#view_switch").click(function(){ $("#switch_form").submit(); }) }) </script> // 切り替え用フラグ <form id="switch_form" method="POST"> <input type="hidden" value="<?php echo $_SESSION['device']['view']; ?>" name="view_switch"> </form> // 切り替えボタン <div> <?php if($_SESSION['device']['view'] == "sp"): ?> <a id="view_switch" style="display: block; text-align: center;"> PC版に切り替え </a> <?php else: ?> <a id="view_switch" style="display: block; text-align: center;"> スマホ版に切り替え </a> <?php endif; ?> </div> <?php endif; ?>