我正在开发一个带有自定义菜单的主题,目前使用的是WP 4.0.1。
我在函数中注册了两个菜单。php:
register_nav_menus(
array(
\'primary\' => __( \'Main Menu\', \'wsy\' ),
\'secondary\' => __( \'Secondary Menu\', \'wsy\' )
)
);
然后,在我的标题中显示它们。php文件:
<nav role="navigation">
<?php
wp_nav_menu(
array(
\'theme_location\' => \'primary\',
\'depth\' => \'1\'
)
);
?>
</nav>
问题是,当我从菜单页面或自定义程序中选择特定菜单时,它们会停止显示在我的页面中。无论哪个菜单或位置,它们都不会出现。当我重置位置时(从下拉列表中选择“-选择-”),将显示默认菜单。
WP\\U调试处于活动状态,没有错误。使用WP 4.1进行了尝试,但仍然没有结果。尝试添加新菜单,运气不好。尝试使用单个菜单位置并注册register_nav_menu();
相反,什么都不起作用。
我甚至尝试了一个新的WP安装,没有运气。在没有深度参数的情况下也尝试了,什么都没有。
如果你能帮我,我将不胜感激。谢谢
SO网友:Bassscape
您可能还需要对“导航菜单”使用“add\\u theme\\u support”。见以下第2行:
if ( function_exists(\'wp_nav_menu\') ) {
add_theme_support( \'nav-menus\' );
register_nav_menus( array(
\'primary\' => __( \'Main Menu\', \'wsy\' ),
\'secondary\' => __( \'Secondary Menu\', \'wsy\' )
)
);
}
然后按如下方式显示菜单:
$nav_menu = \'primary\';
if ( has_nav_menu( $nav_menu ) ) {
echo \'<nav role="navigation">\';
wp_nav_menu(
array(
\'theme_location\' => $nav_menu,
\'depth\' => 1
)
);
echo \'</nav>\';
}