WordPress(ワードプレス)でスマホの場合のみメニューの表示を消す方法

2020年3月13日

 

WordPressホームページを作ったけど、PCとスマホで表示を変えたい時がありますよね。

この記事では、

  • PCでは通常のグローバルメニューを表示。
  • スマホではグローバルメニューを消す。
  • スマホではドロワーメニューで表示する。

の3つの方法を解説します。

 

スマホのみ表示を消す方法

WorePressでサイト作成などをしていて、レスポンシブの場合には表示させてたくない場合があると思います。

僕の場合は、パソコンで表示されているナビゲーションメニューをレスポンシブ時にハンバーガーメニューにしたかったのでこの方法を勉強しました。

 

2つの方法がありますが、どちらも簡単です。

 

テンプレートに記入する方法(php)

僕の場合はナビゲーションメニューを消したかったので、header.phpのナビの部分をスマホ表示の時に非表示にしました。

具体的には下記のように書けば非表示になります。

<?php if(!wp_is_mobile()): ?>	
    <nav class="mynav">ここに非表示にしたいことを記入
<?php endif; ?>

WP_is_mobileでモバイル時に非表示になります。

これはナビゲーションメニューだけでなく、スマホで非表示にしたい場合に使えます。

phpの知識が少し必要なので心配な方はバックアップをとってから実装してください。

 

CSSで非表示にする方法

もう一つの方法はCSSに記入して、レスポンシブ時に非表示にする方法です。

これは、メディアクエリを利用する方法です。

HTMLの例

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> 
    <link rel="stylesheet"  href="style.css">
</head>

<body> 
 <nav>
        <ul>
            <li>ホーム</li>
            <li>メニュー</li>
            <li>アクセス</li>
            <li>お問い合わせ</li>
        </ul>
    </nav>
</body>

 

CSSの記入例

@media (min-width: 0px) and (max-width: 479px) {
   .nav {
     display: none;
   }
}

上記のように記入すると横幅が479px以下になった時にナビゲーションメニューが非表示になります。

display: none;で非表示になるので試してみてください。

display: none;はスマホで見た時に画像を非表示にしてみたり逆にパソコンで見た時に非表示にするなどよく使うので覚えておくといいです。