Как обновить расчеты доставки при изменении пользовательского поля доставки в woocommerce?

Я добавил новое настраиваемое поле доставки (выберите опцию ) на страницу проверки woocommerce.

Я использую это для расчетов доставки.

Это тоже отлично работает. но проблема в том, что пока я меняю значения в этом поле, он не обновляется мгновенно.

Он дает правильные вычисления на следующей странице, после отправки страницы. Мне нужно, чтобы он работал как изменение в пользовательском поле.

Как запустить WooCommerce Ajax, который обновляет расчет доставки на изменение моего настраиваемого поля ?

1 ответов


это на самом деле очень просто сделать, если вы добавляете свои поля правильным образом (используя woocommerce_checkout_fields фильтр). Единственное, что вам нужно сделать, это добавить классы address-field и update_totals_on_change такой:

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {

    $fields['shipping']['custom_field'] = array(
        'label' => 'Custom field',
        'required' => 1,
        'class' => array ('address-field', 'update_totals_on_change' )
    );

    return $fields;
}