- Home
- Blog
- Contact
I found myself in the situation where I had to give the client the possibility to hide some of their products from search, so they can manually send the product urls to their clients. The way I got around it at the time was to create a product category called Hidden and use the snippet below, which you can paste in your theme’s functions.php file.
/*-------------------------------------
Remove hidden category products from search
---------------------------------------*/
function wpharvest_pre_get_posts( $query ) {
if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
$tax_query = array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'hidden',
'operator' => 'NOT IN',
),
);
$query->set( 'tax_query', $tax_query );
}
}
add_action( 'pre_get_posts', 'wpharvest_pre_get_posts' );
If you find this snippet helpful or need help with it, please leave a comment below.