我想做的是以编程方式下订单,然后挂接到它的数据上以将信息传递给api,就像这样:
function make_custom_order() {
$order = wc_create_order();
$order->add_product( wc_get_product( $product_id ), 1 );
$order->set_address( $order_info, 'billing' );
$order->calculate_totals();
$order->update_status('pending');
update_post_meta($order->get_id(), 'offer_id', $offer_id);
update_post_meta($order->get_id(), 'country_code', $country_code);
update_post_meta($order->get_id(), 'price', $price);
update_post_meta($order->get_id(), 'lander', $lander);
update_post_meta($order->get_id(), 'ip', $ip);
update_post_meta($order->get_id(), 'referrer', $referrer);
update_post_meta($order->get_id(), 'device', $device);
update_post_meta($order->get_id(), 'product_id', $product_id);
update_post_meta($order->get_id(), 'network', 'somenetwork');
}
add_action( 'woocommerce_checkout_process', 'make_custom_order' );
这有效并创建了订单,现在对于第三方API部分,我正在使用此功能:
add_action( 'woocommerce_new_order', 'send_to_api' );
function send_to_api( $order_id ) {
echo get_post_meta( $order_id, 'device', true );
}
但是,我注意到在保存元数据之前已触发woocommerce_new_order,并且我无法将元数据发送给第三方API。
保存所有自定义字段元数据后,有人知道如何挂接到新订单吗?
谢谢