Por defecto el buscador de WordPress hará una búsqueda por todos los tipos de posts que existan en la plataforma. Por lo que, por ejemplo si tenemos instalado un WooCommerce y tenemos entradas en el blog los contenidos acabarán mezclándose.

function wv_limitar_buscador($query) {
if ($query->is_search) {
$query->set('post_type',array('post','page'));
}
return $query;
}
add_filter('pre_get_posts','wv_limitar_buscador');

El código arranca en el hook pre_get_posts, que nos da acceso a $query una vez creado el objeto y antes de ser ejecutado. La clase is_search() nos confirmará si se trata de una búsqueda y solo nos quedará personalizar el array con los post_type que sean de nuestro interés.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *