我有一个hook to woocommerce_payment_complete,其中我将订单发送给分销商。这工作正常。 现在,由于我也通过第三方市场销售,有时我想从管理面板创建订单,我希望通过将订单状态设置为“处理”来触发woocommerce_payment_complete挂钩,但事实并非如此。 有没有办法通过手动创建订单来触发此挂钩?手动创建订单时触发woocommerce_payment_complete
感谢
我有一个hook to woocommerce_payment_complete,其中我将订单发送给分销商。这工作正常。 现在,由于我也通过第三方市场销售,有时我想从管理面板创建订单,我希望通过将订单状态设置为“处理”来触发woocommerce_payment_complete挂钩,但事实并非如此。 有没有办法通过手动创建订单来触发此挂钩?手动创建订单时触发woocommerce_payment_complete
感谢
您可以使用下面的设置“处理”的管理订单。 action_woocommerce_process_shop_order_meta
用于检测订单更新。
// define the woocommerce_admin_order_actions_end callback
function action_woocommerce_admin_order_actions_end($order_id) {
global $woocommerce;
if (!$order_id)
return;
$order = new WC_Order($order_id);
$order_status = $order->get_status();
if ($order_status != "failed") {
$order->update_status('processing');
}
};
// add the action
add_action('action_woocommerce_process_shop_order_meta', 'action_woocommerce_admin_order_actions_end', 10, 1);
嗨,那不是我想要做的。我可以手动将订单状态设置为'正在处理'。我想要的是当我这样做时,运行hook'woocommerce_payment_complete'。 – Damian
如果您使用的钩子已经在使用某些代码,将其包含在您的问题中可能会很有用。为什么你想使用'woocommerce_payment_complete'钩子来手动创建一个订单*具有'处理'状态*?这看起来很奇怪,不知道这个钩子究竟做了什么。 – LoicTheAztec
Hi @LoicTheAztec。挂钩将订单项发送给分销商。当用户创建订单并为其付款时,我已经使用woocomerce_payment_complete,这是完美的。但是现在我从网站外部获得我想要手动输入的订单,并且我需要在woocomerce_payment_complete挂钩中使用相同的逻辑。由于我将订单设置为处理状态,但我不打电话给 – Damian
,因为这个钩子在订单完成时显式调用,所以我会使用相同的钩子。所以这就是为什么我要求你'woocommerce_payment_complete'挂钩功能代码。没有它,我无法做出有用的答案。 – LoicTheAztec