我正在尝试将一些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,产品线总数以及我添加到产品中的自定义字段。我需要使用自定义字段来决定如何将其他数据添加到数据库。
答案 0 :(得分:0)
我想你可以得到这样的SKU:
$product->get_sku() ;
在你的情况下:
$prod->get_sku() ;
我建议您不要像现在一样手动收集数据,而是使用woocommerce rest-api。
您可以将ID发送到远程服务器,然后使用订单ID调用订单数据并保存。或者在同一服务器中使用其余的api来获取所有订单数据。
如果您希望将来获得更多订单信息,它会更快更灵活。 https://woothemes.github.io/woocommerce-rest-api-docs/#orders