Remove specific product from shop in woocommerce [closed]

Add below hook to your theme function.php file

add_action( 'pre_get_posts', 'custom_pre_get_posts' );

function custom_pre_get_posts( $q ) {

    if ( ! $q->is_main_query() ) return;
    if ( ! $q->is_post_type_archive() ) return;

    if ( ! is_admin() && is_shop() ) {

        $q->set( 'tax_query', array(array(
            'taxonomy' => 'product_cat',
            'field' => 'slug',
            'terms' => array( 'private-clients', 'charity'), // Don't display products in the private-clients category on the shop page
            'operator' => 'NOT IN'
        )));

    }

    remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}