0

我正在实现 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);
4

1 回答 1

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 );

谢谢

于 2019-07-17T00:52:50.310 回答