Gracias a alguna ayuda aquí, logré agregar un cuadro de búsqueda personalizado a mi menú principal ... agregando esto a las funciones de mi tema.php
add_filter('wp_nav_menu_items','search_box_function');
function search_box_function ($nav){
return $nav."<li class='menu-header-search'><form action='http://example.com/' id='searchform' method='get'><input type='text' name='s' id='s' placeholder='Search'></form></li>";
}
Sin embargo, ahora he agregado otro menú para poner en el pie de página, pero el cuadro de búsqueda también se agrega a este. ¿Cómo agregaría el cuadro de búsqueda solo al menú principal?
Mi código para registrar los menús es:
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'twentyten' ),
'secondary'=>__('Secondary Menu', 'twentyten' ),
) );
..y el código para mostrar el menú secundario es:
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'secondary' ) );
10, 2
el código?10
es prioridad (diez es el valor predeterminado),2
es el número de argumentos que la función que estamos conectando para filtrar acepta.Un método alternativo para hacerlo es agregar la babosa del menú al filtro wp_nav_menu_items.
Por ejemplo, supongamos que tiene un menú llamado Encabezado y siempre desea que este menú (ya sea adjunto a una ubicación de tema o no) muestre un cuadro de búsqueda. Puede hacerlo agregando la babosa del menú, en este caso
header
, al filtro.El nuevo filtro sería el siguiente:
Observe la
header
parte del nuevo filtro. Esto le dice a WordPress a qué menú agregar la función.Esta es solo una forma diferente de abordar su problema actual.
fuente