通过编程创建订单时保存订单后的Woocommerce挂钩

时间:2019-03-04 12:27:10

标签: php wordpress woocommerce

我想做的是以编程方式下订单,然后挂接到它的数据上以将信息传递给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。

保存所有自定义字段元数据后,有人知道如何挂接到新订单吗?

谢谢

0 个答案:

没有答案