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; }
Deja un comentario