显示错误的wp_nav_menu

时间:2012-10-12 08:15:25

标签: wordpress

我的网址看起来像这样: http://domain.com/?s=searchquery&post_type=qa_faqs

该页面列出了“searchquery”的搜索结果。

然后我用

获取帖子类型
$post_type = $_GET['post_type'];

它回应正确

echo $post_type;
// Provides: qa_faqs

当$ post_type为qa_faqs时,我会通过wp_nav_menu执行if / else显示不同的菜单。

if ( $post_type == 'qa_faqs' ) {
  echo 'we got qa_faqs over here';
  wp_nav_menu(array('menu' => 'meta_menu', 'items_wrap' => '<dl id="%1$s" class="nice tabs vertical %2$s">%3$s</dl>', 'walker' => new sidenav_walker ));
} else {
  echo 'no qa_faqs in da house';
  wp_nav_menu(array('menu' => 'service_menu', 'items_wrap' => '<dl id="%1$s" class="nice tabs vertical %2$s">%3$s</dl>', 'walker' => new sidenav_walker ));
}

现在到了有趣的部分:

即使页面回显'我们在这里得到qa_faqs',它也会显示service_menu。

为什么?

3 个答案:

答案 0 :(得分:45)

找到它 - http://codex.wordpress.org/Navigation_Menus

同样的问题让我疯了。

使用'theme_location'代替'menu'指向您要输出的菜单。

答案 1 :(得分:5)

尝试使用以下内容定位特定菜单:

<?php wp_nav_menu( array('menu' => 'Your Menu Name' )); ?>

答案 2 :(得分:0)

我认为你在meta_menu上没有任何项目。请在“外观”部分下创建菜单并进行分配。 :)