如何从wp_nav_menu中删除“主页”链接!

时间:2011-03-30 21:14:08

标签: php wordpress

使用<?php wp_nav_menu( array('menu' => 'news', 'show_home' => false)); ?>

时,如何摆脱链接顶部显示的“主页”链接

我尝试了'show_home' => false'show_home=0',但都没有效果。

5 个答案:

答案 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");