![](/img/trans.png)
[英]Change Woocommerce order status based on payment gateway and transition status
[英]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');
}
任何幫助將不勝感激!
您的代碼非常過時,與錯誤混淆......
相反,要更改付款的訂單狀態,例如:
cod
使用(默認狀態為“處理中”) :cheque
使用 *(默認狀態為“保留”):bacs
使用 *(默認狀態為“保留”):只需使用這個免費插件 = WooCommerce 的自定義訂單狀態
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.