我需要帮助解决与插件“WooCommerce Pay for Payment”相关的问题,该插件计算运费中的一些额外费用。问题是,这个插件会自动设置“处理”状态,这会导致感谢电子邮件付款(在本地付款的情况下)并且不发送有关新订单的电子邮件通知,因此客户感到困惑(我没有发送任何钱,我收到了电子邮件“感谢您的付款”)。
我试过这个解决方案:Set WooCommerce order status when order is created from processing to pending
但它只会将订单状态更改回“暂停”,但无论如何都会发送电子邮件感谢付款。
我需要做的只有一件事是在关于新订单的每封新订单电子邮件中发送给客户,仅此而已(我想将状态更改为手动“处理”)。
感谢您的帮助,我不知道如何解决,因为我找不到导致插件状态更改的 PHP 文件。
编辑:对不起大家。这是 woocommerce 插件中的 COD 问题。不像我提到的那样付款。 Woocommerce COD 自动设置“处理”状态。
我在 github 上找到了解决方案:here
它的第一个代码。
基于对这个问题的回答,这个代码 工作过 对我来说没问题:
function sv_wc_cod_order_status( $status ) {
return 'on-hold';
}
add_filter( 'woocommerce_cod_process_payment_order_status', 'sv_wc_cod_order_status', 15 );
最佳答案
更新: you found in Github的代码过时,笨拙和复杂,因为有a dedicated filter hook现在。你最好试试这个轻量级有效的代码,它会为设置默认的订单状态。 “货到付款”支付网关 (COD) 到 “暂停” :
add_filter( 'woocommerce_cod_process_payment_order_status', 'change_cod_payment_order_status', 10, 2 );
function change_cod_payment_order_status( $order_status, $order ) {
return 'on-hold';
}
代码位于您的事件子主题(事件主题)的 functions.php 文件中。测试和工作。
So the default order status set by the payment gateway is now "On Hold" instead of "Processing"
关于php - 在 Woocommerce 中将 COD 默认订单状态更改为 "On Hold"而不是 "Processing",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53280800/