Para limitar el buscador de woocommerce simplemente tenemos que editar el archivo functions.php de nuestra plantilla y añadir la función «lw_search_filter_pages»
Os mostramos dos ejemplos. El primero solo mostrará las productos en el buscador y el segundo solo los artículos.
Mostrar solo productos buscador wordpress
// Only show products in the front-end search results
add_filter('pre_get_posts','lw_search_filter_pages');
function lw_search_filter_pages($query) {
// Frontend search only
if ( ! is_admin() && $query->is_search() ) {
$query->set('post_type', 'product');
$query->set( 'wc_query', 'product_query' );
}
return $query;
}
Mostrar solo artículos buscador wordpress
//Alter the WordPress search to return ONLY posts, no pages
if (!is_admin()) {
function search_filter_posts($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','search_filter_posts');
Eliminar determinadas páginas del buscador de wordpress
add_action( 'pre_get_posts', 'dcms_exclude_specific_pages' );
function dcms_exclude_specific_pages($query)
{
if ( $query->is_search() && $query->is_main_query() )
$query->set( 'post__not_in', array( 1, 2, 3, 4, 5 ) );
}