使用<?php wp_nav_menu( array('menu' => 'news', 'show_home' => false)); ?>
我尝试了'show_home' => false
和'show_home=0'
,但都没有效果。
答案 0 :(得分:8)
这应该在你的functions.php
中function page_menu_args( $args ) {
$args['show_home'] = FALSE;
return $args;
}
add_filter( 'wp_page_menu_args', 'page_menu_args' );
编辑:别忘了将它添加到您的菜单打印输出的任何地方:
wp_nav_menu( array('echo'=>true));
答案 1 :(得分:1)
以下对我有用:
_nav_menu( array( 'container_id' => 'topmenu', 'depth' => 0, 'menu_class' => 'sf-menu', 'theme_location' => 'topmenu' ) );
我添加
function page_menu_args( $args ) {
$args['show_home'] = FALSE;
return $args;
}
add_filter( 'wp_page_menu_args', 'page_menu_args' );
在functions.php
文件中。
答案 2 :(得分:0)
如果您想要从默认wordpress菜单(wp_page_menu)中删除“主页”链接,并且主页是一个页面(不是博客帖子),这是解决此问题的一种方法:
在functions.php中:
function getPageBySlugname($slugname) {
$args = array(
'post_type' => 'page',
'hierarchical' => 0,
'post_status' => 'publish'
);
$pages = get_pages($args);
foreach ($pages as $page) {
if ($page->post_name == $slugname) {
return $page->ID;
}
}
}
header.php中的
wp_page_menu(array(
'container' => 'div',
'show_home' => false, // Not sure what this is hiding, maybe if you have blogposts as home??
'echo' => true,
'exclude' => getPageBySlugname('homepage-slugname'), // change this to your slugname
));
答案 3 :(得分:-1)
你做得太难了!相反,对于自定义菜单的特定.home项使用CSS display:none。它就像一个魅力。示例:
menu-blogroll .home {display:none !important;}
答案 4 :(得分:-3)
我使用jquery来修复它。
$("div.menu > ul li:first-child").css("display","none");