![](/img/trans.png)
[英]Change COD default order status to "On Hold" instead of "Processing" in Woocommerce
[英]Auto change order status from hold-on to processing in Woocommerce
我想每一个订单从状态“HOLD-ON”到“处理”用PHP woocommerce改变。
我已经尝试在functions.php文件中编写一个函数,但我失败了。
如何在 Woocommerce 中自动将订单状态从“保留”更改为“正在处理”?
要自动处理订单,您应该尝试以下操作:
add_action( 'woocommerce_thankyou', 'woocommerce_auto_processing_orders');
function woocommerce_auto_processing_orders( $order_id ) {
if ( ! $order_id )
return;
$order = wc_get_order( $order_id );
// If order is "on-hold" update status to "processing"
if( $order->has_status( 'on-hold' ) ) {
$order->update_status( 'processing' );
}
}
代码位于活动子主题(或主题)的 function.php 文件中。
add_action('woocommerce_order_status_changed', 'ts_auto_complete_by_payment_method');
function ts_auto_complete_by_payment_method($order_id)
{
if ( ! $order_id ) {
return;
}
global $product;
$order = wc_get_order( $order_id );
if ($order->data['status'] == 'on-hold') {
$payment_method=$order->get_payment_method();
if ($payment_method!="COD") // change payment method
{
$order->update_status( 'processing' );
}}}
将代码添加到您的子主题的functions.php 文件或通过允许添加自定义函数的插件,例如代码片段插件。 避免将自定义代码直接添加到父主题的functions.php 文件中,因为当您更新主题时,这将被完全擦除。
您还可以将“已完成”状态更改为另一个订单状态,例如“处理中”
**
* Auto Complete all WooCommerce orders.
*/
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
if ( ! $order_id ) {
return;
}
$order = wc_get_order( $order_id );
$order->update_status( 'processing' );
} ```
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.