Jiř*_*rek 2 php wordpress orders woocommerce payment-method
我需要帮助解决与插件“WooCommerce Pay for Payment”相关的问题,该插件计算运费中的一些额外费用。问题是,这个插件会自动设置“处理”状态,这会导致感谢电子邮件付款(在本地付款的情况下)并且不发送有关新订单的电子邮件通知,因此客户感到困惑(我没有发送任何钱,我收到了电子邮件“感谢您的付款”)。
我尝试了这个解决方案:当订单从处理到待处理时设置 WooCommerce 订单状态
但它只会将订单状态更改回“暂停”,但无论如何都会发送电子邮件感谢付款。
我只需要在每封新订单电子邮件中向客户发送有关新订单的一件事,仅此而已(我想将状态更改为手动“处理”)。
感谢您的帮助,我不知道如何解决,因为我找不到导致插件状态更改的 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 );
Run Code Online (Sandbox Code Playgroud)
更新:您在 Github 中找到的代码已经过时、笨拙且复杂,因为现在有一个专用的过滤器钩子。你最好试试这个轻量级的和有效的代码,将设置为默认的订单状态“货到付款”支付网关(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';
}
Run Code Online (Sandbox Code Playgroud)
代码位于您的活动子主题(活动主题)的 functions.php 文件中。测试和工作。
所以支付网关设置的默认订单状态现在是“暂停”而不是“处理中”