Я пытаюсь обновить детали платежных данных клиентов в интерфейсе. У меня есть следующий код:wc_update_order() Не работает как ожидалось
if(isset($_POST['save_order'])){
$update_billing_details = wc_update_order(array('order_id' => $update_order_id));
$update_order_args = array(
'first_name' => $_POST['billing_first_name']
);
$update_billing_details->set_address($update_order_args, 'billing');
if($update_billing_details){
echo "success";
}
}
Что происходит, первое имя обновляется после нажатия кнопки сохранения ДВАЖДЫ.
Пример:
Оригинальное название 'John'. Если я сделаю это «Джонни» и удару сэкономлю, он все равно покажет «Джон». И если я наберу имя «Johndel», то нажмите «Сохранить», это стало «Джонни» и так далее.
Но, если я могу сделать мой код, как это:
if(isset($_POST['save_order'])){
$update_order_args = array(
'_billing_first_name' => $_POST['billing_first_name'],
'order_id' => $update_order_id
);
$update_billing_details = wc_update_order($update_order_args);
}
Ничего не происходит.
Что я делаю неправильно? Я основывал свою работу на this question.
Любая помощь очень ценится.
Спасибо,
-Eli