我的url是这样的: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时,我执行if/else以通过wp_nav_menu显示不同的菜单。
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。
为什么?
发布于 2012-11-03 10:09:07
找到了- http://codex.wordpress.org/Navigation_Menus
同样的问题也让我抓狂。
使用'theme_location‘而不是' menu’来指向你想要输出的菜单。
发布于 2012-10-12 17:09:24
尝试以特定菜单为目标,如下所示:
<?php wp_nav_menu( array('menu' => 'Your Menu Name' )); ?>发布于 2012-10-12 16:36:15
我想你的meta_menu上没有任何东西。请在外观部分下创建菜单并分配它。:)
https://stackoverflow.com/questions/12854892
复制相似问题