带有 Woo Credit 插件的虚拟产品的 Woocommerce 订单状态
Woocommerce order status for virtual products with Woo Credit plugin
我在我的商店工作,我销售的所有产品都是虚拟的,因为它们提供解锁码。
我正在使用名为 StockUnlock 的插件实现 API 访问我的供应商:直到这里一切正常。
为了让 StockUnlock 插件在客户购买产品时采取行动,订单状态必须在收到付款后处理,但不是:
当我收到付款时,状态变为完成并且插件不起作用。我使用的付款方式是 woo-credits
(Woo Credits plugin).
如何解决这个问题,获取处理状态而不是已完成?
此行为来自 Woo Credit 插件(您可以联系作者支持主题)。
现在您可以尝试此代码,它将仅针对 'woo_credits' 支付网关并将订单状态更新回 'processing',一旦客户在 "Order Received" 页面 (谢谢):
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' );
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。
此代码未经测试,但可能适合您。
我在我的商店工作,我销售的所有产品都是虚拟的,因为它们提供解锁码。
我正在使用名为 StockUnlock 的插件实现 API 访问我的供应商:直到这里一切正常。
为了让 StockUnlock 插件在客户购买产品时采取行动,订单状态必须在收到付款后处理,但不是:
当我收到付款时,状态变为完成并且插件不起作用。我使用的付款方式是 woo-credits
(Woo Credits plugin).
如何解决这个问题,获取处理状态而不是已完成?
此行为来自 Woo Credit 插件(您可以联系作者支持主题)。
现在您可以尝试此代码,它将仅针对 'woo_credits' 支付网关并将订单状态更新回 'processing',一旦客户在 "Order Received" 页面 (谢谢):
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' );
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。
此代码未经测试,但可能适合您。