@AbuNooh Наконец-то я нашел правильный способ сделать это ... Проверьте мой обновленный ответ на свой вопрос.

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

function premove_billing_checkout_fields($fields) {
    global $woocommerce;
    $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
    $chosen_shipping = $chosen_methods[0];

    if( $chosen_shipping === 'local_pickup:20' ) {
       unset($fields['billing']['billing_postcode']);
       unset($fields['billing']['billing_state']);
       unset($fields['billing']['billing_country']);
    }

    if( $chosen_shipping === 'wc_custom_shipping_pickpoint' ) {
       unset($fields['billing']['billing_postcode']);
       unset($fields['billing']['billing_address_1']);
       unset($fields['billing']['billing_state']);
    }
    return $fields;
}
add_filter('woocommerce_checkout_fields', 
'premove_billing_checkout_fields', 990 );

Этот код работает, но чтобы скрыть поля, мне нужно обновить страницу. Как я могу скрыть поля с помощью Ajax?

Ответы на вопрос(1)

Ваш ответ на вопрос