Buscador de WordPress

Modificar los resultados de búsqueda en 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;
}

 

5/5 – (2 votos)

Publicado

en

,

por

Etiquetas:

Comentarios

4 respuestas a «Modificar los resultados de búsqueda en WordPress»

  1. Avatar de Raul
    Raul

    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. Avatar de Joan Artés
    Joan Artés

    Hola Raul!

    Sigue la guía que hay en este página: http://brimosoft.nl/2013/04/03/search-for-attachments/

    Espero que te sirva 😉

  3. Avatar de Jose Iskandar

    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.

    1. Avatar de joan
      joan

      Puedes probar con este plugin, pero vigila que consume muchos recursos: https://es.wordpress.org/plugins/relevanssi/

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Create a website or blog at WordPress.com

A %d blogueros les gusta esto: