我正在实现WordPress与其他网站之间的同步功能。我想在结帐期间处理订单之前将订单同步到我的其他站点。我也需要同步一个项目,但是我不知道该方法要使用什么钩子。
我尝试使用woocommerce_checkout_order_processed
将该订单处理完毕并保存在数据库中。我想要一个挂钩,该挂钩仅能向我提供有关订单的一些信息,例如预订,项目和订单数据,然后再将其保存到数据库中。我需要这样做是因为如果同步过程中出现一些错误,我可以取消订单,并且该订单将不会保存在WordPress数据库中。
我尝试了woocommerce_checkout_process
钩子。问题是我无法使用此代码获取商品。
function syncOrderAsEstimates($order_id) {
$order = wc_get_order($order_id);
$order->getItems(); // returns empty
}
add_action('woocommerce_checkout_process', 'syncOrderAsEstimates', 10, 1);
答案 0 :(得分:1)
@Yves尝试使用此动作挂钩(/includes/class-wc-checkout.php):
/**
* Action hook to adjust order before save.
*
* @since 3.0.0
*/
do_action( 'woocommerce_checkout_create_order', $order, $data );
谢谢