Filtrar post types en la búsqueda de WordPress

A veces necesitamos filtrar en el buscador que tipos de posts deben aparecer, con esta sencilla función puedes filtrar cada tipo.

En el ejemplo utilizamos el filtro de ‘pre_get_posts’ que se ejecuta antes de cualquier petición de query en WordPress, lo único que hay que haces es comprobar si estamos en los resultados de búsqueda y en ese caso reemplazar la key «post_type» en el query actual y pasar un array (o string con un post type único) con los tipos de post que queremos que solo aparezcan, y listo.

function cabans_pre_get_posts_filters( $query ) {
    
    if ( $query->is_search && !is_admin() ) {
        $query->set( 'post_type', array( 'post', 'product' ) );
    }
    
    return $query;
    
}
add_filter( 'pre_get_posts', 'cabans_pre_get_posts_filters' );

Un snippet rápido que nos puede ayudar en más de un proyecto.

Deja un comentario