我試圖在前端更新客戶的結算明細。我有下面的代碼: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";
}
}
會發生什麼是,第一個名字是在點擊保存按鈕TWICE後更新。
例子:
原名爲 '約翰'。如果我把它做成'約翰尼'並且保存,它仍然顯示'約翰'。如果我輸入名稱'Johndel',然後點擊保存,它會變成'Johnny',依此類推。
但是,如果我做我的代碼是這樣的:
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