Как удалить ссылку "Главная" из wp_nav_menu!
Как мне избавиться от ссылки "Главная" от появления в верхней части моих ссылок при использовании <?php wp_nav_menu( array('menu' => 'news', 'show_home' => false)); ?>
Я пробовал 'show_home' => false
и 'show_home=0'
, но не работал.
Ответы
Ответ 1
Это должно быть в ваших функциях .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));
Ответ 2
Следующие работали для меня:
_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
.
Ответ 3
Если вы похожи на меня, чтобы удалить ссылку "домой" из стандартного меню 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
));
Ответ 4
Вы делаете это слишком сложно! Вместо этого используйте отображение CSS: none для этого конкретного. Домашнего элемента пользовательского меню. Отлично работает. Пример:
menu-blogroll .home {display:none !important;}
Ответ 5
Я использовал jquery, чтобы исправить то же самое.
$("div.menu > ul li:first-child").css("display","none");