Это код, который я использую для отображения и обновления полей:
Код: Выделить всё
add_action( 'woocommerce_after_order_notes', 'my_acf_checkout_display' );
function my_acf_checkout_display() {
acf_form(array('form' => false,'fields' => array('inseam')));
}
add_action( 'woocommerce_checkout_update_order_meta','acf_update_field_at_checkout' );
function acf_update_field_at_checkout( $order_id ) {
// acf custom field id
$my_field = 'inseam';
$acf_form_value = $_POST['acf'][$my_field];
update_field($my_field,$acf_form_value,$order_id);
}

Вот как выглядит моя страница оформления заказа:

А вот «обновленное» поле в заказе (оно остается пустым):

Когда я жестко запрограммировал значение, скажем, 12, тогда это работает!
Код: Выделить всё
add_action( 'woocommerce_after_order_notes', 'my_acf_checkout_display' );
function my_acf_checkout_display() {
acf_form(array('form' => false,'fields' => array('inseam')));
}
add_action( 'woocommerce_checkout_update_order_meta','acf_update_field_at_checkout' );
function acf_update_field_at_checkout( $order_id ) {
// acf custom field id
$my_field = 'inseam';
$acf_form_value = 12;
//$acf_form_value = $_POST['acf'][$my_field];
update_field($my_field,$acf_form_value,$order_id);
}
Заранее большое спасибо!
Подробнее здесь: https://stackoverflow.com/questions/764 ... oocommerce