В настоящее время я добавляю пользовательское поле для выставления счетов в WooCommerce
function custom_override_checkout_fields( $fields ) {
$fields['billing']['billing_phone_new'] = array(
'label' => __('Phone 2', 'woocommerce'),
'placeholder' => _x('Phone 2', 'placeholder', 'woocommerce'),
'required' => false,
'class' => array('form-row-wide'),
'clear' => true
);
return $fields;
}
add_filter('woocommerce_checkout_fields','custom_override_checkout_fields');
мне нужно отредактировать значение этого поля на стороне администратора. В настоящее время я могу редактировать все другие значения в адресе выставления счета, но это значение не отображается в разделе администратора. Я использую следующий код только для того, чтобы увидеть значение в разделе администратора.
function order_phone_backend($order){
echo "<p><strong>Billing phone 2:</strong> " . get_post_meta( $order->id, '_billing_phone_new', true ) . "</p><br>";
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'order_phone_backend', 10, 1 );
Я читаю документацию https://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ . Но все в этом документе работает правильно, ожидайте, что billing_phone / Phone см. В разделе «Пользовательское поле». Я проверяю опцию экрана, но я уже поставил галочку в произвольном поле. Другое настраиваемое поле и его значение отображаются и редактируются.
Как я могу редактировать это значение в бэк-энде. Пожалуйста помоги .
Ответы:
Код, который вы предоставили, является неполным. Не уверен, что это единственный код, который вы используете для достижения желаемого. Итак, помимо первого блока кода, который вы предоставили, ниже я добавляю весь остальной код, необходимый для отображения нового поля на бэкенде в поле «Детали заказа» и его редактирования через настраиваемые поля. Обратите внимание, что во втором блоке кода вы назвали ключ поля как
_billing_new_phone
. Любое имя ключа настраиваемого поля, начинающееся с _ (подчеркивание), является скрытым настраиваемым полем и не будет отображаться в бэкэнде в разделе «Настраиваемые поля».WooCommerce не делает новое поле оформления заказа доступным для редактирования в стандартном поле «Детали заказа». В этом окне он будет доступен как режим «только просмотр», но вы можете редактировать его через стандартный блок пользовательских полей WordPress. Смотрите скриншот ниже.
источник
Вот решение: прямой доступ к данным продукта не разрешен, например
Правильный метод продвижения вперед:
источник