【发布时间】:2012-10-03 00:32:37
【问题描述】:
我的网址如下所示: 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。
为什么?
【问题讨论】:
-
把两个菜单都从逻辑里拿出来输出到外面,是不是一样的?
-
它们不一样,这就是为什么如果 $post_type 是 'qa_faqs' 和 service_menu 如果 $post_type 不是 'qa_faqs' 我想显示 meta_menu。
-
我遇到了同样的问题 (pastebin.com/H0GzFJz2) 当最上面的应该输出标题菜单时,他们都输出社交菜单,很奇怪。
-
这真的把我逼疯了 =)
标签: wordpress