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 *

es juegos de casino baccarat gratis casino rincon de pepe apuesta sin riesgo betsafe firekeepers casino mi resena vigo casino codigo promocional y bonus code 2025 casino online prueba gratis 37022 casinos de juegos en hermosillo sonora juegos tragamonedas gratis para pc casinos con entropay en mexico casinos sin licencia en espana juego wild warriors vbet casino se resena 55bet casino resena jackpot wilds casino resena casinos online klarna chivas vs ny red bulls apuestas y pronosticos 31 07 2025 pagos bank transfer estrategia para ganar en ruleta casiwex com casino resena jackpot lounge resena what is a live dealer casino casino sin registrarse star wins casino resena juega gratis a thor infinity reels en modo demo 21207 nanogames io casino resena es pagos astropay ramses gold casino resena resenas campobet