簡體   English   中英

更新 WooCommerce 中的自定義訂單項元

[英]Update custom order item meta in WooCommerce

我錯過了一些東西。 我看過幾篇關於如何更新項目元數據的文章,但我無法讓其中任何一篇工作。 我需要獲取 item_id 但我不知道該怎么做。

$your_phone = $item->get_meta('dinner_phone'); // 1115559999
$update_phone = wdc_format_phone($your_phone); // comes back (111) 555-9999

wc_update_order_item_meta($item_id,'dinner_phone', $update_phone); //I want to update with new format

$new_phone = $item->get_meta('dinner_phone'); // doesn't work I still get 1115559999

我試圖通過以下方式提取 Item_id

foreach ( $items as $item ) {
    $product_id = $item->get_product_id();
    $item_id = $item['item_id'];
    break;
}

也試過這個

    foreach ($items as $key => $product ) {
      $item_id = $key;
   }

您將使用現有 WC_Order Object $order變量中的以下內容:

foreach ( $order->get_items() as $item-id => $item ) {
    $dinner_phone   = $item->get_meta('dinner_phone'); // 1115559999
    if ( ! empty( $dinner_phone ) ) {
        $formatted_diner_phone = wdc_format_phone( $dinner_phone ); // comes back (111) 555-9999

        $item->update_meta_data('dinner_phone', $formatted_diner_phone);

        $item->save(); // Save item

        $new_phone = $item->get_meta('dinner_phone');
        echo $new_phone; // Check that items is updated
    }
    $order->calculate_totals(); // Recalculate Order totals and save
}

它應該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM