スマホで見たときにサイドバーを削除する方法
スマホでスッキリ表示させるためにはサイドバーは必要ないと思うので表示しないように設定してみます。使ったテーマはSTINGERPLUSの子テーマです。
まず子テーマのモバイルからのアクセスを判断するため「functions.php」に以下のコードを付け加えておきます。
function is_mobile(){
$useragents = array(
'iPhone', // iPhone
'iPod', // 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']);
}
次に表示する部分のテーマファイルを編集します。「header.php」、「footer.php」、「single.php」等は子テーマにコピーして編集するだけです。 親テーマより子テーマの方が優先されます。今回は「single.php」を編集してみます。
「single.php」の下のほうにサイドバーを読み込む部分があります。
<?php get_sidebar(); ?>
これの前後に2行付け加えて以下のようにします。
<?php if (!is_mobile()) :?> <?php get_sidebar(); ?> <?php endif; ?>
これでスマホのときにはサイドバーが表示されないようになします。
同様のことも以下のファイルに対して行います。
- トップページ:index.php
- 固定ページ:page.php
- カテゴリー・タグページ:archive.php