设置WooCommerce订单状态,当从处理创建订单到待处理
答
默认订单状态由付款方式或支付网关设置。
您可以尝试使用此自定义挂钩函数,但它不会工作(因为这挂钩之前的支付方式和支付网关解雇):
add_action('woocommerce_checkout_order_processed', 'changing_order_status_before_payment', 10, 3);
function changing_order_status_before_payment($order_id, $posted_data, $order){
$order->update_status('pending');
}
显然,每种付款方式(和支付网关)的设置订单状态(根据支付网关)事务响应...
现在相反,您可以更新使用
woocommerce_thankyou
钩订单状态:
add_action('woocommerce_thankyou', 'woocommerce_thankyou_change_order_status', 10, 1);
function woocommerce_thankyou_change_order_status($order_id){
if(! $order_id) return;
$order = wc_get_order($order_id);
if($order->get_status() == 'processing')
$order->update_status('pending');
}
代码放在您的活动子主题(或主题)的function.php文件或也以任何插件文件。
测试和工程
相关主题:WooCommerce: Auto complete paid Orders (depending on Payment methods)