在Woocommerce 3中获取自定义订单商品元数据


Hey ou
2025-03-12 03:49:56 (9天前)


我使用的是Woocommerce最新版本3.4.2。如何获取某些订单商品元数据并为其分配自定义值?
我使用公共数组$ item_product_data_array获取元数据。
我需要得到……

2 条回复
  1. 0# ⑩Ⅵ嵗D夨憶 | 2019-08-31 10-32




    更新:
    </强>
    自Woocommerce第3版以来,您的代码已经过时了。请参阅:




    所以你的代码应该是:




    1. $skus = $item_quantities = $line_item_totals = $items_meta_data = array();

    2. // Loop though order items
      foreach( $order->get_items() as $item_id => $item){
      $product_id = $item->get_product_id();
      $product = $item->get_product();

    3. $item_quantities[] = $item->get_quantity();
    4. $line_item_totals[] = $item->get_total();
    5. $skus[]            = $product->get_sku();
    6. $items_meta_data[]  = $item->get_meta_data();
    7. }

    8. // Product details for sending as one line to an external service
      foreach ($skus as $key => $value){
      $data .= “&product[“.$key.”]=”.$value.””;
      $data .= “& product_kol[“.$key.”]=”.$item_quantities[$key].””;
      $data .= “& product_price[“.$key.”]=”.$line_item_totals[$key].””;
      if( isset($product_mod[$key]) ) {
      $data .= “&product_mod[“.$key.”]=”.$product_mod[$key].””;
      }
      }

    9. </code>


    它应该更好,但是

    $product_mod

    没有定义和

    $item->get_meta_data()

    未使用。





    现在

    获取一些自定义元数据
    </强>
    ,如果你的定制

    元键
    </强>


    Custom thing

    ,你会用:




    1. $custom_thing = $item->get_meta(‘Custom thing’);

    2. </code>


    这应该包含在订单项的foreach循环中,经过测试和工作。





    其他一些事情:




    • 要获得NON折扣订单项总计:

      $item->get_subtotal();



    • 要获得折扣订单项总计:

      $item->get_total();



    • 要获得产品价格(单位):

      $product->get-price();



登录 后才能参与评论