WooCommerce:基于付款方式的订单状态
WooCommerce: Order status based on Payment methods
在 Woocommerce 上,我们可以选择 BACS 付款。有些订单是“已付款”,有些则不是。我不明白为什么他们使用完全相同的付款方式。以下两张图片将向您展示:
付费:
未支付:
我们正在使用一项功能自动将这些付款从“暂停”更改为“处理中”,以防这可能与问题有关。代码如下:
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 上,我们可以选择 BACS 付款。有些订单是“已付款”,有些则不是。我不明白为什么他们使用完全相同的付款方式。以下两张图片将向您展示:
付费:
我们正在使用一项功能自动将这些付款从“暂停”更改为“处理中”,以防这可能与问题有关。代码如下:
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
使用*(默认状态为“保留”):
- 对于其他支付网关使用(默认订单状态与每个支付网关相关,是否有可发货项目):