繁体   English   中英

在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM