wp_nav_menu() doesn't work

时间:2015-03-25 作者:WSY

我正在开发一个带有自定义菜单的主题,目前使用的是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安装,没有运气。在没有深度参数的情况下也尝试了,什么都没有。

如果你能帮我,我将不胜感激。谢谢

1 个回复
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>\';
}

结束

相关推荐

Use menus with anchors

我有一个CPT归档页面,我想创建一个导航菜单,该菜单将跳转到表单中的锚定<a name=\"post-slug\" http=\"{the permalink goes here}>The CPT Title</a>我已经能够在模板文件中创建锚定,所以这不是问题对于页面顶部的链接本身,我可以手动创建它们,也可以使用WordPress菜单系统中的自定义链接。。。。但是有很多,所以我宁愿尝试在WordPress菜单系统中创建一个常规菜单。问题是,我需要以某种方式调整它的输出,以更改常规