我的订单格式为[domain]/checkout/order-received/[order_number]/key=[wc-order-key] -如何获取[wc-order-key]
到目前为止,我已经做到了:
add_action('woocommerce_payment_complete', 'custom_process_order', 10, 1);
function custom_process_order($order_id)
{
$order = new WC_Order( $order_id );
$myuser_id = (int)$order->user_id;
$user_info = get_userdata($myuser_id);
$items = $order->get_items();
foreach ($items as $item)
{
$product_name = $item['name'];
$product_id = $item['product_id'];
$product_variation_id = $item['variation_id'];
$product_description = get_post_meta($item['product_id'])->post_content
}
return $order_id;
}发布于 2016-06-07 11:49:03
如果我没理解错的话,你需要用order_id获取order_key,对吗?如果是这样,您可以只使用WC_Order属性:
$test_order = new WC_Order($order_id);
$test_order_key = $test_order->order_key;编辑的
正如前面提到的indextwo,从Woo 3.0开始有了新的语法:
$test_order = wc_get_product($order_id);
$test_order_key = $test_order->get_order_key();发布于 2018-11-06 19:12:36
2018年更新答案
由于WooCommerce 3改变了属性调用的方式,因此获取相同信息的适当方式是:
$order = wc_get_order($order_id);
// Added a check to make sure it's a real order
if ($order && !is_wp_error($order)) {
$order_key = $order->get_order_key();
}请注意,您可以轻松地反向执行相同的操作:从订单键获取订单ID:
$order_id = wc_get_order_id_by_order_key($order_key);https://stackoverflow.com/questions/37669956
复制相似问题