/** * Exclude products from a particular category on the shop page */ function custom_pre_get_posts_query( $q ) { if (is_product_category( 'sofa' )) { $tax_query = (array) $q->get( 'tax_query' ); $tax_query[] = array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => array( 'aaaaabbbbbccccc' ), // Don't display products in the clothing category on the shop page. 'operator' => 'NOT IN' ); $q->set( 'tax_query', $tax_query ); } } add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );