我正在我的商店工作,我销售的所有产品都是虚拟的,因为它们提供解锁代码。
我正在使用名为 StockUnlock 的插件来实现与我的提供商的 API 访问:到目前为止一切都很好。
按照 StockUnlock 插件在客户购买其产品时采取行动的顺序,订单状态必须在收到付款后处理,但不是:
当我收到付款时,状态变为完成,插件不起作用。我使用的付款方式是woo-credits
(Woo Credits插件(。
如何解决此问题,以获得处理状态而不是已完成?
此行为来自 Woo Credit 插件(您可以联系作者支持线程(。
现在,您可以尝试此代码,该代码仅针对"woo_credits"支付网关,并在客户在"订单已收到"页面(谢谢(中提交订单后将订单状态更新回"正在处理":
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_paid_order', 999, 1 );
function custom_woocommerce_auto_complete_paid_order( $order_id ) {
// Only for 'woo_credits' payment gateway
if ( ! $order_id || 'woo_credits' != get_post_meta($order_id, '_payment_method', true) )
return;
// Get an instance of the WC_Order object
$order = wc_get_order( $order_id );
// Update order status back to 'processing'
$order->update_status( 'processing' );
}
代码进入函数.php活动子主题(或活动主题(的文件。
此代码未经测试,但可能适合您。