WordPressでレスポンシブナビゲーションメニューを作成する方法

公開: 2021-07-22

WordPressでレスポンシブなナビゲーションメニューを作成する道は自由です。 WordPressが提供する柔軟性のおかげで、これを行う方法は無数にあります。

今日は、無駄のない、平均的な応答性の高いナビゲーションメニューを作成する方法を紹介します。 これらすべてを8キロバイト未満で達成するため、そしてそれが信じられないほど効率的なナビゲーションメニューになるためです。 2つの異なるナビゲーションメニューを維持する必要がないように、現在のナビゲーションメニューをミラーリングするだけです。 1つの石で2羽の鳥を殺すことで、すべてを支配する1つのメニューを作成します。

レスポンシブナビゲーション-in-wp

始める前に、フロントエンド開発の基本的な知識があることをお勧めします。 (習熟度は必要ありません。慌てる必要はありません。)基本的なHTML、CSS、jQuery、およびWordPressの知識が理想的です。 これは、WordPressテーマファイルの変更を伴うため、初級から中級のチュートリアルです。

また、次のWordPressテーマファイルにアクセスする必要があります。

  • functions.php
  • header.php
  • footer.php
  • Style.css

変更を加える前に、必ずサイトのバックアップを実行するか、ローカル環境で変更をテストしてください。 元のファイルに戻す方法が常に必要です。

無料のローカル開発アプリであるLocalは、ワークフローを簡素化し、サイトで安全に実験するのに役立ちます。 今日それを試してみてください!
「CreativeMindsPowerfulWords」と書かれた「SharpMinds」という会社のウェブサイトのホームページを表示するランプ付きの机の上のラップトップ

画面外のスライドパネルを作成するための小さなjQueryプラグインであるbigSlide.jsを使用します。 プラグインのWebサイトでは、「画面外のスライドパネルナビゲーションを作成するための小さな(〜1kb圧縮)jQueryプラグイン」と説明されています。 これは、無駄のない平均的な応答性の高いナビゲーションの目標に沿ったものです。

仕事に取り掛かりましょう。

1.bigSlide.jsの最新の圧縮バージョンをダウンロードします。 ファイルをテーマの/jsフォルダーにコピーします。

2.お好みのコードエディタでfunctions.phpを開きます。 wp_enqueue_scriptを検索します。 wp_enqueue_scriptはWordPressにスクリプトを追加する標準的な方法であるため、複数のインスタンスが表示される可能性があります。

3. wp_enqueue_scriptの最後のインスタンスの直後に、次のスニペットを追加して保存します。

 wp_enqueue_script( 'my-responive-menu', get_template_directory_uri() . '/js/bigSlide.min.js', array(), '20161214', true );

4. header.phpを開き、bodyタグの直後の最初のdivにクラスpushを追加します。 このセクションは通常、次のようになります。

 <body <?php body_class(); ?>><div class="hfeed site">.

したがって、追加した後は、次のようになります。

 <div class="hfeed site push">.

5.まだheader.php内にいる間に、 site-navigationを検索します。 これは、テーマに応じてクラスまたはIDのいずれかになります。 ほとんどのWordPressテーマでは、次のようになります。

 <nav class="site-navigation primary-navigation" role="navigation"> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu', 'menu_id' => 'primary-menu' ) ); ?> </nav>

6. </nav>の直前に次のスニペットを追加します。 あなたはこれで終わるはずです:

 &amp;amp;amp;amp;amp;amp;amp;lt;nav class="site-navigation primary-navigation" role="navigation"&amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;lt;?php wp_nav_menu( array( 'theme_location' =&amp;amp;amp;amp;amp;amp;amp;gt; 'primary', 'menu_class' =&amp;amp;amp;amp;amp;amp;amp;gt; 'nav-menu', 'menu_id' =&amp;amp;amp;amp;amp;amp;amp;gt; 'primary-menu' ) ); ?&amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;lt;a href="#responsive-menu" class="menu-link"&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;#9776;&amp;amp;amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;lt;/nav&amp;amp;amp;amp;amp;amp;amp;gt;

ここでは、モバイルメニューをトリガーするために使用されるハンバーガーアイコンを作成しています。

右側にハンバーガーメニューがある「SharpWords」ウェブサイトのスクリーンショット

7. footer.phpを開き、 <?php wp_footer(); ?>を検索します。 <?php wp_footer(); ?> 。 この行の直後に、次のスニペットを追加します。

 &amp;amp;amp;amp;amp;amp;amp;lt;div class="panel mobile-menu"&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;lt;?php wp_nav_menu( array('theme_location' =&amp;amp;amp;amp;amp;amp;amp;gt; 'primary',) );?&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;lt;/div&amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;lt;script&amp;amp;amp;amp;amp;amp;amp;gt; jQuery('.menu-link').bigSlide({ menu: '.mobile-menu', speed: 300, side:"right", easyClose:true});&amp;amp;amp;amp;amp;amp;amp;lt;/script&amp;amp;amp;amp;amp;amp;amp;gt;

基本的に、フッターに非表示の重複ナビゲーションメニューを作成しています。

8.最後に、 style.cssを開き、最後の行の直後に次のコードスニペットを追加します。

 .panel{ position: fixed; right: -15.625em; width: 15.625em; background:#222;} .push{position:relative;} .menu-link{display:none;color:#fff;background:#333;border-radius:4px;padding:2px 12px;float:right;} .mobile-menu a{display:block;color:#fff;padding:10px 15px;} .mobile-menu a:hover{background-color:#555;} .mobile-menu li{border-bottom:1px #444 solid;} @media only screen and (max-width:900px) { #primary-menu{display:none;} .mobile-menu #primary-menu{display:block;} .menu-link{display:inline-block;} }

ここでは濃い配色を使用していますが、必要に応じて色を自由に変更してください。

このアプローチは、ほぼすべての標準的なWordPressテーマで機能します。 ただし、ユースケースやヘッダーレイアウトが異なるため、いくつかの調整が必要になる場合があります。

最終的に、基本は同じままです。 理論的根拠は、900px以下の画面サイズでは、デフォルトのメインナビゲーションを非表示にし、代わりにハンバーガーアイコンを表示することです。

ハンバーガーアイコンをクリックまたはタップすると、フッターに複製したメニューがサイドパネルのようなアプリとして開きます。

レスポンシブ-ナビゲーション-メニュー-モバイル-スライド

万が一行き詰まった場合は、下にコメントを残してください。 喜んでお手伝いさせていただきます。 ハッピーコーディング!