Php 在Woocommerce中将订单状态从保留自动更改为处理
我想用php将每个订单从状态为“保留”的woocommerce更改为“处理” 我已经尝试在functions.php文件中编写函数,但失败了Php 在Woocommerce中将订单状态从保留自动更改为处理,php,wordpress,woocommerce,status,orders,Php,Wordpress,Woocommerce,Status,Orders,我想用php将每个订单从状态为“保留”的woocommerce更改为“处理” 我已经尝试在functions.php文件中编写函数,但失败了 如何在Woocommerce中将订单状态从保留自动更改为处理 要自动处理订单,应尝试以下操作: add_action( 'woocommerce_thankyou', 'woocommerce_auto_processing_orders'); function woocommerce_auto_processing_orders( $order_id )
如何在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' );
}}}