簡體   English   中英

WooCommerce:基於付款方式的訂單狀態

[英]WooCommerce: Order status based on Payment methods

在 Woocommerce 上,我們可以選擇 BACS 付款。 有些訂單以“付費”的形式通過,有些則不是。 我不明白為什么,因為他們使用完全相同的付款方式。 下面的兩張圖片將向您展示這一點:

有薪酬的: 在此處輸入圖像描述 沒有支付: 在此處輸入圖像描述

我們正在使用 function 自動將這些付款從“暫停”更改為“處理中”,以防這可能與問題有關。 代碼如下:

add_action( 'woocommerce_thankyou', 'bacs_order_payment_processing_order_status', 10, 1 );

function bacs_order_payment_processing_order_status( $order_id ) {
if ( ! $order_id ) {
    return;
}

// Get an instance of the WC_Order object
$order = new WC_Order( $order_id );

if ( ( get_post_meta($order->id, '_payment_method', true) == 'bacs' || 'cod'  ) && ('on-hold' == $order->status || 'pending' == $order->status) ) {
    $order->update_status('processing');
}

else {
    return;
}
}

// change COD payment method order status from processing to on-hold
add_action('woocommerce_thankyou_cod', 'action_woocommerce_thankyou_cod', 10, 1);
function action_woocommerce_thankyou_cod($order_id)
{
    $order = wc_get_order($order_id);
    $order->update_status('processing');
}

任何幫助將不勝感激!

您的代碼非常過時,與錯誤混淆......

相反,要更改付款的訂單狀態,例如:

  1. 貨到付款cod使用(默認狀態為“處理中”)
  1. Cash on Check cheque使用 *(默認狀態為“保留”):
  1. 銀行bacs使用 *(默認狀態為“保留”):
  1. 對於其他支付網關使用(默認訂單狀態與每個支付網關以及是否有可運送的物品有關):

只需使用這個免費插件 = WooCommerce 的自定義訂單狀態

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM