0

当我的 index.php 文件中有我的 wordpress 菜单代码时,一切正常。具有适当 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,
        );


?>

这是我想放入 header.php 文件的代码

<?php wp_nav_menu( $main_menu_header_top ); ?>
4

2 回答 2

1

删除破折号并用下划线替换

main-nav-header-topmain_nav_header_top

于 2013-10-01T05:42:42.430 回答
1
<?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' );
于 2013-10-01T03:03:50.873 回答