我的网址如下所示:http: //domain.com/?s = searchquery&post_type = qa_faqs
该页面列出了"searchquery"的搜索结果.
然后我得到了帖子类型
$post_type = $_GET['post_type'];
Run Code Online (Sandbox Code Playgroud)
它回应正确
echo $post_type;
// Provides: qa_faqs
Run Code Online (Sandbox Code Playgroud)
然后当$ 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 ));
}
Run Code Online (Sandbox Code Playgroud)
现在到了有趣的部分:
即使页面回应'我们在这里得到了qa_faqs',它也会显示service_menu.
为什么?
Ner*_*ros 46
找到了它 - http://codex.wordpress.org/Navigation_Menus
同样的问题也让我疯了.
使用'theme_location'而不是'menu'指向要输出的菜单.
尝试使用以下内容定位特定菜单:
<?php wp_nav_menu( array('menu' => 'Your Menu Name' )); ?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8103 次 |
| 最近记录: |