私のfunction.php
に以下のコードを追加しました
function register_my_menu() {
register_nav_menu('header-menu',__( 'Menu' ));
}
add_action( 'init', 'register_my_menu' );
そして、ここにメニューがある私のコードです。
wp_nav_menu( array( 'theme_location' => 'header-menu' ) );
問題は何ですか?
私はSOについて少し前にこれについて完全な答えをしました。完全な投稿を見ることができます ここ 。 WPSEユーザーのために、私はその投稿から私の答えをコピーしました。私はそれを編集していません。この記事は元々、フッターにナビゲーションメニューを追加して表示することについてでしたが、ヘッダーナビゲーションメニューにも同じ方法が適用されます。私はあなたがこれが参考になったと思います
オリジナルPOSTFROM SO
2つのナビゲーションメニューが正しく登録されました。私はいつもafter_setup_theme
フックにフックされる私の最初のテーマ設定フックの中でそれをします。だから私はあなたのfunctions.phpでこのようなことをするだろう:
function pietergoosen_theme_setup() {
register_nav_menus( array(
'header' => 'Header menu',
'footer' => 'Footer menu'
) );
}
add_action( 'after_setup_theme', 'pietergoosen_theme_setup' );
覚えておいて、あなたはこのようにそれをする必要はありません。以下も動作します
register_nav_menus( array(
'header' => 'Header menu',
'footer' => 'Footer menu'
) );
これで、バックエンドの[表示]> [メニュー]> [場所の管理]の2つのメニューが表示されます(メニューが存在する場合のみ)。
フッターメニューのために、メニューを表示する必要がある場所に、フッターの次のコードを追加します。
<nav id="footer-navigation" class="site-navigation footer-navigation" role="navigation">
<?php wp_nav_menu( array( 'theme_location' => 'footer', 'menu_class' => 'nav-menu', 'fallback_cb' => false ) ); ?>
</nav>
この段階では何も表示されません、そして私はこれがあなたがまた行き詰まるところだと思います。これは、メニューに項目が割り当てられていないためです。メニューに項目が割り当てられていない場合は、何も表示されません。そのため、表示するものを挿入する必要があります。
バックエンドでは、 "外観>メニュー>メニューの編集"へ行きます。 [メニュー名]フィールドにメニューの名前を入力して[メニューの作成]をクリックします。メニュー画面にメニューを追加することができます。
あなたは今あなたのメニューに挿入するために左側からアイテムを選ぶことができます。メニューの場所、この場合はフッターを設定することもできます。フッターにカテゴリを表示するように選択しました。完了したら、[Save Menu]をクリックします。
フロントエンドにナビゲーションメニューが表示されます。
ナビゲーションバーにスタイルを追加するだけです。あなたはheader navメニューについても全く同じことをするでしょう、あなたはheader.phpのメニューへの呼び出しを追加することを受け入れます。私はあなたがこれが役に立つことを願っています。