Modificar los resultados de búsqueda en WordPress

Buscador de WordPress

Por defecto el buscador de WordPress busca en todos los tipos de contenido: posts, páginas, adjuntos, etc. Para poder personalizar los resultados de búsqueda tenemos que acotar la query de la misma. Para ello ejecutaremos una función con el hook de activación pre_get_posts:

add_action('pre_get_posts', 'modifica_busqueda');

La función que modificará la query de la búsqueda seguirá de la siguiente manera:

function modifica_busqueda ( $query ) {
	// En este caso limitamos la búsqueda a los 
	// posts de la categoría "noticias"
	if( $query->is_main_query() && $query->is_search ) {
		$query->set('category_name', 'noticias');
	}
	return $query;
}

En este caso, tal como está comentado en la función, conseguimos que solo se busque en los posts de la categoría “noticias”.

Otro ejemplo muy útil sería acotar la búsqueda a solo los posts:

function modifica_busqueda ( $query ) {
	// Limitamos la búsqueda a solo posts
	if( $query->is_main_query() && $query->is_search ) {
		$query->set('post_type', 'post');
	}
	return $query;
}

 

4 opiniones en “Modificar los resultados de búsqueda en WordPress”

  1. Hola!
    Dices que por defecto el buscador de wordpress busca en todos los contenidos. A mi no me sucede eso. Sólo me busca en post y páginas, y me gustaría que buscase tambien en los adjuntos. Como podría hacerlo? (soy bastante torpe con el tema de meter código)
    Gracias!

  2. Hola Manuel!
    Muchas gracias por el artículo, está bastante bueno!

    Quisiera saber algo. En mi blog de cocina (http://foodografo.com/) si coloco en el campo de busqueda una palabra, por ejemplo “albondigas” me aparecen los posts que las contienen de manera larga y realmente se hace pesado porque tienes que ir bajando para ver la siguiente receta.

    Lo que me gustaría hacer es configurar la búsqueda o instalar un plugin que me permita personalizar la búsqueda de manera que al escribir la palabra “albondiga” te salgan unos cuadros pequeños con todas las recetas que lo incluyen y uno pueda clicar e ir entrando a la receta que más te llame la atención.

    No se si me hice entender. Muchas gracias por el apoyo!
    Jose.

Deja un comentario