【问题标题】:WooCommerce Add-ons information in Google SheetsGoogle 表格中的 WooCommerce 附加组件信息
【发布时间】:2020-05-22 00:01:22
【问题描述】:

我正在使用 WooCommerce Webhooks 和 Apps 脚本将 WooCommerce 订单导出到谷歌表格

我有两个问题

1) 我如何引用 WooCommerce“附加组件”数据

2) 谷歌表格中未显示父订单 ID

function doPost(e) {
var myData = JSON.parse([e.postData.contents]);
  var timestamp = new Date();
  var order_number = myData.number;
  var parent_id= myData.parent_id;
  var order_status = myData.status;
  var billing_first_name = myData.billing.first_name;
  var billing_last_name = myData.billing.last_name;
  var billing_phone = myData.billing.phone;
  var billing_email = myData.billing.email;
  var order_total = myData.total;
  var billing_address_1 = myData.billing.address_1;
  var billing_address_2 = myData.billing.address_2;
  var billing_city = myData.billing.city;
  var billing_address = billing_address_1 + ", " + billing_address_2 + ", " + billing_city;
  var billing_postcode = myData.billing.postcode;
  var shipping_first_name = myData.shipping.first_name;
  var shipping_last_name = myData.shipping.last_name;
  var shipping_address_1 = myData.shipping.address_1;
  var shipping_address_2 = myData.shipping.address_2;
  var shipping_city = myData.shipping.city;
  var shipping_address = shipping_address_1 + ", " + shipping_address_2 + ", " + shipping_city;
  var shipping_postcode = myData.shipping.postcode;

  var lineitems=""
  for (i in myData.line_items)
  {
    var product_name       = myData.line_items[i].name;
    var itemName = myData.line_items[i].name;
    var quantity = myData.line_items[i].quantity;
    var linetotal = myData.line_items[i].total;
    var product_items      = quantity + " x " + itemName + ": £"+linetotal +"\n"; 
    var lineitems =lineitems+product_items;
  }

  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow([timestamp,order_number,parent_id,order_status,billing_first_name,billing_last_name,billing_phone,billing_email,lineitems,order_total,billing_address,billing_postcode,shipping_first_name,shipping_last_name,shipping_address,shipping_postcode]);
}

【问题讨论】:

    标签: javascript php google-apps-script google-sheets woocommerce


    【解决方案1】:

    您的问题缺少的是:

    • 我们不知道您从哪里以及如何在 javascript 中获取订单数据
    • 我们不知道您需要在哪里显示订单号。

    所以我们只能做一个笼统的回答。

    另外请注意,StackOverFlow 中不允许同时提出多个问题


    1) WooCommerce 订单中的 WooCommerce 插件数据存储为订单项自定义元数据:

    // Get an instance of the WC_Order object
    $order = wc_get_order( $order_id );
    
    // The loop to get the order items which are WC_Order_Item_Product objects since WC 3+
    foreach( $order->get_items() as $item_id => $item ){
    
        // Get the special meta data in an array: 
        $meta_data = $item->get_meta_data();
    
        echo '<pre>'; print_r($meta_data); echo '<pre>'; // Testing raw output
    
        // Get all additional meta data (formatted in an unprotected array)
        $formatted_meta_data = $item->get_formatted_meta_data( ' ', true );
    
        echo '<pre>'; print_r($formatted_meta_data); echo '<pre>'; // Testing raw output
    
        // Get the specific meta data from a meta_key: 
        $meta_value = $item->get_meta( 'custom_meta_key' );
    }
    

    相关:Get Order items and WC_Order_Item_Product in WooCommerce 3


    2) 要从订阅中获取父订单号,您将使用:

    • 从订阅ID我们可以很容易的得到订单ID:

      $order_id = wp_get_post_parent_id( $subscription_id );
      
    • WC_Subscription 对象我们也可以很容易地获得订单ID:

      $order_id = $subscription->get_parent_id();
      

    然后从这个订单ID你可以得到订单号:

    // Get an instance of the WC_Order object
    $order = wc_get_order( $order_id );
    
    $order_mumber = $order->get_order_number();
    

    或与:

    $order_mumber = get_post_meta( $order_id, _order_number, true );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-17
      • 2018-10-17
      • 2018-05-21
      • 1970-01-01
      • 2013-05-06
      • 2013-05-17
      • 1970-01-01
      • 2019-10-13
      相关资源
      最近更新 更多