我非常迫切需要有人指导我!
我使用带有 Woodmart 主题的 WordPress,我希望自动完成订单。 我安装了codesnippets插件并从codesnippet网站复制了以下代码:
但是之前处理的订单还没有完成! 我应该在“更改付款方式”处添加什么付款方式?
感谢您的帮助
根据付款方式“Moneris Gateway”自动完成 WooCommerce 订单
add_action('woocommerce_order_status_changed', 'ts_auto_complete_by_payment_method');
function ts_auto_complete_by_payment_method($order_id)
{
if ( ! $order_id ) {
return;
}
global $product;
$order = wc_get_order( $order_id );
if ($order->data['status'] == 'processing') {
$payment_method=$order->get_payment_method();
if ($payment_method!="cod") // Change the Payment Method
{
$order->update_status( 'completed' );
}
}
}
在 WooCommerce 中使用 WC Moneris 支付网关 时,为 Moneris 支付网关定义的支付 ID 很简单:
moneris
。
基于如何在 WooCommerce 中自动完成付款订单? 答案代码,以下是通过 Moneris 支付网关自动完成付款订单的正确方法:
add_filter( 'woocommerce_payment_complete_order_status', 'wc_auto_complete_paid_order', 10, 3 );
function wc_auto_complete_paid_order( $status, $order_id, $order ) {
if ( $order->get_payment_method() === 'moneris' ) {
$status = 'completed';
}
return $status;
}
代码位于子主题的functions.php 文件中(或插件中)。应该可以。