从自定义页面模板的页眉中删除导航

时间:2012-12-17 作者:Anagio

我正在创建登录页,希望从该页中删除导航菜单。导航菜单位于标题中。php,当然是在页面模板中。是否有WordPress功能可用于从此特定页面中删除导航菜单?我知道我可以用jQuery来完成,并显示:nav菜单没有,但我希望在页面加载之前在服务器端完成。

谢谢

2 个回复
最合适的回答,由SO网友:Jeremy Jared 整理而成

使用条件标记:

Codex参考:

Function Reference (is_page)

Function Reference (Conditional Tags)

您可以按页面ID、页面标题或页面Slug指定登录页。

以下是一个示例:

<?php if ( !is_page( \'landing-page\' ) ) { 
  wp_nav_menu( array( 
    \'show_home\' => \'Home\', 
    \'container\' => \'false\', 
    \'theme_location\' => \'main\') 
    ); 
  }
  endif;
  ?>
它不包括页面(在这种情况下是带有slug“landing page”的页面)通过放置! 在前面is_page

不需要javascript,这应该可以做到。

SO网友:helgatheviking

我只是回答了一个问题duplicate question, 但另一个解决方案是过滤wp_nav_menu.

只要您没有弄乱查询对象而忘记重置它,条件逻辑可能就可以工作。

function wpa76334_filter_nav_menu($menu, $args){
    if( is_page_template(\'your-template.php\')) $menu = null; //use your own conditions
    return $menu;
}
add_filter(\'wp_nav_menu\',\'wpa76334_filter_nav_menu\', 10, 2);

结束

相关推荐

Register_nav_menus()不会注册菜单

请帮助进行菜单注册:我遵循了这个指南(http://codex.wordpress.org/Navigation_Menus)一步一步。向函数中添加了以下代码。php:function register_my_menus() { register_nav_menus( array(\'header-menu\' => __( \'Header Menu\' ) ) ); } add_action( \'init\', \'regist