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.

Published by Dragos Micu

WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *

sky88 8888 9582 poker hitclub cach choi bai xi to fun79 club ban ca dao 4 chu record breaking taiwan millions tournament top game bai doi thuong uy tin 383sports slot 7566 fo88 club real madrid vs atletico madrid soi keo bong da 03h00 09 02 2025 song phang chien dau kannapong thanarattrakul joins natural8 flush draw on the flop meo danh bau cua tren dien thoai stade rennais vs lille soi keo bong da 02h45 17 02 2025 duy tri phong keno loc phat sunwin ty le ty so no hu duong mat chuoc ajax vs galatasaray soi keo bong da 03h00 31 01 2025 chu nha bat uk88 bi sap xo so mien nam max88