Para remover um campo personalizado do checkout no WooCommerce quando um produto específico estiver no carrinho de compras, você pode usar a função campos_de_checkout_woocommerce e remova o campo com base no produto. Aqui está um código de exemplo que pode ajudar você:

add_filter( 'woocommerce_checkout_fields', 'remove_custom_field_based_on_product' );

function remove_custom_field_based_on_product( $fields ) {
    // Hier die Produkt-ID einfügen, die das benutzerdefinierte Feld ausblenden soll
    $product_id = 123;
    
    // Überprüfen, ob das Produkt im Warenkorb ist
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        if ( $cart_item['product_id'] == $product_id ) {
            // Wenn das Produkt im Warenkorb ist, entfernen Sie das benutzerdefinierte Feld
            unset( $fields['billing']['billing_custom_field'] );
            break;
        }
    }
    
    return $fields;
}

Neste exemplo, o campo personalizado denominado campo_personalizado_de_faturamento removido do checkout se o produto com o ID 123 está no carrinho de compras. Você pode personalizar o código para remover o campo personalizado que deseja ocultar e o produto que dispara o gatilho.