Insertar buscador en el menú principal de WordPress – Search Form

PROBLEMA: muchos temas WordPress no tienen habilitada la función por defecto para añadir el buscador en la barra de menú WordPress o en el header de la página.

SOLUCIÓN: para añadir el buscador en la barra de menú WordPress solo necesitas añadir a tu archivo una pequeña función. 

En WordPress puedes crear uno o varios menús (depende del theme) con enlaces de páginas o entradas, para crear menús en wordpress tenemos que ir al administrador de nuestra web y en Apariencia >> Menús ir creando los menús necesarios con sus enlaces a páginas. 

En algunos proyectos, además de estos enlaces de páginas, necesitamos añadir al menú de nuestra web links a páginas externas o una barra de buscador. Hay themes que desde la configuración del tema te permiten añadir el buscador dentro del menú principal, sin embargo es probable que tu tema no tenga habilitada esta función por defecto y necesites añadir la barra de buscador como un item más del menú. Es este artículo encontrarás un código muy sencillo que te permite hacer esto.

Buscador en la barra de menú WordPressSi necesitas añadir la barra de buscador en la barra de menú WordPress sólo tienes que añadir una pequeña función al archivo functions.php de tu tema hijo o tema principal.

wp-content/themes/tutema/functions.pnp

Es muy importante trabajar con un tema hijo para no perder los cambios y funciones tras las actualizaciones. Si no sabes como crear un tema hijo puedes leer primero las siguientes entradas donde se explica paso por paso como conseguir crear un tema hijo:

  1. Plugins WordPress tema hijo
  2. Cómo crear un tema hijo en WordPress

Función añadir buscador en menú WordPress

Copia y pega el siguiente código en el archivo functions.php

add_filter('wp_nav_menu_items','buscador_en_menu', 10, 2);

function buscador_en_menu($items, $args) {

$searchform = get_search_form( false );

$items .= '<li>' . $searchform . '</li>';

return $items;

}

 

Puedes añadir todos los items que necesites a tu menú WordPress, por ejemplo si necesitas además del buscador añadir un link a otro sitio debes utilizar este ejemplo:

add_filter('wp_nav_menu_items','buscador_en_menu', 10, 2);

function buscador_en_menu($items, $args) {

$searchform = get_search_form( false );

$items .= '<li>' . $searchform . '</li>';
$items .= '<li><a href="http://www.otroenlace.es">Otro enlace</a></li>';
return $items; 
}

Lo que estamos logrando con esta función es llamar al listado del menú de nuestro wordpress y añadir al final del mismo nuevos items a la lista.

Como ves es bastante sencillo.

Te puede ayudar:

Modificar el buscador en WordPress – 4 técnicas sencillas.