php - example - Cómo quitar el enlace ''Inicio'' de wp_nav_menu!
wp_nav_menu wordpress español (5)
¡Lo estás haciendo demasiado difícil! En su lugar, use la pantalla CSS: ninguna para ese elemento .home en particular de un menú personalizado. Funciona a las mil maravillas. Ejemplo:
menu-blogroll .home {display:none !important;}
¿Cómo me deshago del enlace ''Inicio'' para que no aparezca en la parte superior de mis enlaces cuando <?php wp_nav_menu( array(''menu'' => ''news'', ''show_home'' => false)); ?>
<?php wp_nav_menu( array(''menu'' => ''news'', ''show_home'' => false)); ?>
Intenté ''show_home'' => false
y ''show_home=0''
pero ninguno funcionó.
Esto debería estar en tus funciones.php
function page_menu_args( $args ) {
$args[''show_home''] = FALSE;
return $args;
}
add_filter( ''wp_page_menu_args'', ''page_menu_args'' );
EDITAR: no olvide agregar esto a donde su menú se supone que debe imprimir:
wp_nav_menu( array(''echo''=>true));
Lo siguiente funcionó para mí:
_nav_menu( array( ''container_id'' => ''topmenu'', ''depth'' => 0, ''menu_class'' => ''sf-menu'', ''theme_location'' => ''topmenu'' ) );
Y añado
function page_menu_args( $args ) {
$args[''show_home''] = FALSE;
return $args;
}
add_filter( ''wp_page_menu_args'', ''page_menu_args'' );
En el archivo functions.php
.
Si usted es como yo que busca eliminar el enlace de ''inicio'' del menú predeterminado de WordPress (wp_page_menu) y el hogar es una página (no blogposts), esta es una forma de resolverlo:
en 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;
}
}
}
en 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
));
Usé jquery para arreglar lo mismo.
$("div.menu > ul li:first-child").css("display","none");