2011-03-30 28 views
13

¿Cómo me deshago del enlace 'Inicio' de aparecer en la parte superior de mis enlaces cuando se utiliza <?php wp_nav_menu(array('menu' => 'news', 'show_home' => false)); ?>Cómo quitar el enlace 'Inicio' de wp_nav_menu!

Probé 'show_home' => false y 'show_home=0' pero tampoco funcionó.

+0

enviar el código de wp-cabeza, y allso especificar si 'casa' es una página añadido a través de wp-admin/index.php páginas –

+0

de:

\t \t \t \t
    \t

    \t
  1. \t
\t
Beto

+0

Sí, lo agregué a través de apariencia> menús> y uso la función wp_nav_menu() para obtener el menú que he creado desde allí. – Beto

Respuesta

8

Esto debería estar en su functions.php

function page_menu_args($args) { 
    $args['show_home'] = FALSE; 
    return $args; 
} 
add_filter('wp_page_menu_args', 'page_menu_args'); 

EDIT: No se olvide de añadir esto a donde se supone que el menú de imprimir:

wp_nav_menu(array('echo'=>true)); 
+0

¿funcionará si agrego una página con el tilte 'home' a través de wp-admi/pages? esperemos algunos detalles antes de publicar una respuesta. –

+0

Gracias, probaré el código para todo. poelinca No sé a qué te refieres, en apariciones> menús> no tengo mi hogar revisado, si eso es lo que quieres decir. – Beto

+0

¿Esto funcionó para usted? –

1

Los siguientes trabajó para mí:

_nav_menu(array('container_id' => 'topmenu', 'depth' => 0, 'menu_class' => 'sf-menu', 'theme_location' => 'topmenu')); 

Y agrego

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.

+0

donde agregaste la primera linea _nav_menu (....? – TechyTimo

-3

Utilicé jquery para arreglar lo mismo.

$("div.menu > ul li:first-child").css("display","none"); 
+0

donde agregaste esta linea? – TechyTimo

0

Si usted es como yo mirando para eliminar el enlace 'casa' en el menú de wordpress predeterminado (wp_page_menu) y la casa es una página (no entradas del blog), esta es una manera 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 
)); 
-1

¡Lo está 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;} 
Cuestiones relacionadas