私はいくつかのチュートリアルを試しました。私はregister_nav_menus()
を使ってheader.php
にメニューを追加するべきだと思う
これは私がこのヘルプサイト自体からfunctions.phpで試したコードです。
function my_cool_menu_function(){
register_nav_menus( array(
'primary' => 'Primary Navigation'
));
}
add_action( 'after_setup_theme', 'my_cool_menu_function' );
Header.php内
<?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
メニューがこの関数に登録されているかどうかをチェックしようとしたときに$locations = get_nav_menu_locations();var_dump($locations);
サイズ0の配列を取得しました。メニューが登録されていません。
私は何かが足りない?
私は私が思うページであるフロントエンドでいくつかのリンクを見ることができます。
Your theme does not natively support menus, but you can use them in sidebars by adding a “Custom Menu” widget on the Widgets screen.
が見えます
だから私は上記のメニューが登録されていないと思います。
ここで何がおかしいのですか?
functions.php
にもadd_theme_support('nav-menus');
を追加しました
アップデート
私はメニューを見ることができる私はプラグインを介して上記の同じコードを試してみました。つまり、これはtheme functions.phpファイルでは機能していません。なぜこれが起こるのかわからない。
誰もがこれを知っていますか?
wp_nav_menu()
のデフォルトのフォールバックはwp_page_menu()
です。そのため、特定の場所にメニューを設定しておらず、header.phpコードのfallback_cb
パラメータを変更していない場合は、ページのリストが表示されます。さらにあなたのvar_dump
は空の配列を返します。あなたはAppearance> Menusに行き、メニューを作成する必要があります。それをプライマリロケーションに割り当てます。