Para eliminar un campo personalizado del proceso de pago en WooCommerce cuando un producto específico está en el carrito de compras, puedes usar la función campos de pago de woocommerce y eliminar el campo en función del producto. Aquí hay un código de muestra que puede ayudarte:

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;
}

En este ejemplo, el campo personalizado denominado campo personalizado de facturación Se eliminará del proceso de compra si el producto con el ID 123 está en el carrito de compras. Puede personalizar el código para eliminar el campo personalizado que desea ocultar y el producto que activa el disparador.