私は、ユーザーが開始日から終了日までの日付範囲(日)を選択するサイクルレンタルサイトを開発しています。そして、私はそのデータをwc_add_order_item_meta()
を使って注文のメタデータとして保存しています。注文アイテムのメタデータをどこからでも更新するには?
次に、注文ページを参照して日を変更または延長できるような機能をユーザーに提供したいと考えました。これもやっている、私はモーダルを作成し、モーダルの日付の変更に関するajaxリクエストを追加しました。
今、AJAXを使用してfunctions.php
にデータを送信しましたが、wc_update_order_item_meta()
を使用してメタデータを更新しました。これは、すべての場所であまりにもではなく、更新され
add_action('wp_ajax_update_date_picker', 'update_date_picker');
function update_date_picker() {
$p_da = $_POST['p_date'];
$r_da = $_POST['r_date'];
$t_dy = $_POST['t_days'];
$order_id = $_POST['order_id'];
$order = wc_get_order($order_id);
foreach ($order->get_items() as $item_id => $item_obj) {
$pd = wc_update_order_item_meta($item_id, 'pickup_hidden_datetime', $p_da);
$rd = wc_update_order_item_meta($item_id, 'return_hidden_datetime', $r_da);
$td = wc_update_order_item_meta($item_id, 'return_hidden_days', $t_dy);
if($pd&&$rd&&$td){
echo "Nice work, Bilal";
}
die();
}
}
:ここ
は次のように私の関数が見えます。つまり、リフレッシュすると、更新されたデータも表示されますが、ビューアイテムページを通過すると、更新されたデータではなく古いデータのみが表示されます。管理者の注文をチェックしても、そこに古いメタデータが表示されています。
ありがとうございます。アドバイスありがとうございます。
あなたのwoocommerceのバージョンは? – Reigel
@Reigelのバージョンは3.1.1です –