WordPress菜单在移动到标题时回退到默认设置


WordPress Menu Falls Back to Default Settings when moved to header

当我的索引中有wordpress菜单代码时.php文件一切正常。具有适当 ID 的标签中的包装器,但是当我将导航代码移动到我的头文件或任何其他文件并将其包含在我的索引模板中时,导航包装器变成了一个并且没有适当的 ID 没有任何线索发生了什么?这是我的代码

函数

.php
<?php
    register_nav_menus(
    array(
    'main-nav-header-top' => 'Main Nav'
        )
    );    
    $main_menu_header_top = array(
        'theme_location' => 'main-nav-header-top',
        'container' => 'nav',
        'container_id' => 'mainNavigation',
        'menu_id' => 'mobileNav',
        'depth' => 0,
        );

?>

这是我的代码,我想放在我的标题.php文件中

<?php wp_nav_menu( $main_menu_header_top ); ?>
<?php wp_nav_menu( array('menu' => 'Main Nav' )); ?>

并且不要忘记检查"菜单"面板→外观。

您可以使用get_registered_nav_menus()进行调试,以查看菜单是否正确注册。

也。。

你最好把它包装在一个函数中并钩到init......

function my_custom_menus() {
    $locations = array(
        'header_menu' => __( 'main-nav-header-top', 'Main Nav' ),
        'footer_menu' => __( 'Custom Footer Menu', 'text_domain' ),
        'mobile_footer' => __( 'Footer Menu on mobile devices', 'text_domain' ),
    );
    register_nav_menus( $locations );
}
add_action( 'init', 'my_custom_menus' );

删除破折号并重新添加下划线

main-nav-header-topmain_nav_header_top