Требуемое состояние полей доставки WooCommerce

Я использую функцию ниже, чтобы показать/скрыть раздел адреса доставки при оформлении заказа в зависимости от того, выбирает ли покупатель местный самовывоз или нет.

Он работает нормально, однако некоторые поля в разделе доставки являются обязательными, поэтому оформление заказа не будет работать, если выбрана местная доставка.

Есть ли способ сделать эти поля необязательными, если выбран местный самовывоз?

add_action( 'woocommerce_after_checkout_form', 'bbloomer_disable_shipping_local_pickup' );
 
function bbloomer_disable_shipping_local_pickup( $available_gateways ) {
    
    // Part 1: Hide shipping based on the static choice @ Cart
    // Note: "#customer_details .col-1" strictly depends on your theme

    $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
    $chosen_shipping = $chosen_methods[0];
    if ( 0 === strpos( $chosen_shipping, 'local_pickup' ) ) {
    ?>
        <script type="text/javascript">
            jQuery('#customer_details .col-1').fadeOut();
        </script>
    <?php  
    } 

    // Part 2: Hide shipping based on the dynamic choice @ Checkout
    // Note: "#customer_details .col-1" strictly depends on your theme

    ?>
        <script type="text/javascript">
            jQuery('form.checkout').on('change','input[name^="shipping_method"]',function() {
                var val = jQuery( this ).val();
                if (val.match("^local_pickup")) {
                            jQuery('#customer_details .col-1').fadeOut();
                    } else {
                    jQuery('#customer_details .col-1').fadeIn();
                }
            });
        </script>
    <?php
 
}

person Harry    schedule 09.06.2021    source источник