1

フロントエンドで顧客の請求情報を更新しようとしています。私は次のコードを持っています:wc_update_order()が期待通りに機能しない

何が起こるかは、保存ボタン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

答えて

1

あなたは、この方法を代わりにupdate_post_meta()機能を使用するように試みることができる:

if(isset($_POST['save_order']) && isset($_POST['billing_first_name'])){ 
    update_post_meta($update_order_id, '_billing_first_name', sanitize_text_field($_POST['billing_first_name'])); 
} 

あなたは$update_order_idは、ここで定義された注文のIDであることを確認する必要があり。

私はこれをテストすることはできませんので、私は何も保証することはできません...私はこれがうまくいくことを願っています。

関連する問題