如何在wordpress / woocommerce中处理订单商品数组

时间:2015-11-22 02:35:37

标签: php wordpress woocommerce

我正在尝试将一些woocommerce订单数据处理到一个单独的数据库中。除了项目列表之外,一切都有效。

add_action( 'woocommerce_payment_complete', 'handle_order_completed' );
function handle_order_completed( $order_id ){  
  $order = wc_get_order( $order_id );
  $name = $order->billing_first_name . " " . $order->billing_last_name;
  $billingEmail = $order->billing_email;
  $billingPhone = $order->billing_phone;
  $orderlink = $order->get_view_order_url();
  $products = $order->get_items();
  $orderMeta = get_post_meta($order_id, 'pass_type');

  foreach($products as $prod){
     $sql_insert = <<<SQL
        INSERT INTO cards (cardnumber, name, phone, type, sku)
        VALUES ("$cardnumber", "$name", "$billingPhone", "$type", "$prod['product_sku']")
SQL;
    $prod['product_id'];
  }

我需要知道$order->get_items()的数组键是什么,但我无法在任何地方找到列表。我需要产品SKU,产品线总数以及我添加到产品中的自定义字段。我需要使用自定义字段来决定如何将其他数据添加到数据库。

1 个答案:

答案 0 :(得分:0)

我想你可以得到这样的SKU:

$product->get_sku() ;

在你的情况下:

$prod->get_sku() ;

我建议您不要像现在一样手动收集数据,而是使用woocommerce rest-api。

您可以将ID发送到远程服务器,然后使用订单ID调用订单数据并保存。或者在同一服务器中使用其余的api来获取所有订单数据。

如果您希望将来获得更多订单信息,它会更快更灵活。 https://woothemes.github.io/woocommerce-rest-api-docs/#orders