更改结帐页面上的 WooCommerce 结帐错误文本

Gra*_*cie 4 php wordpress woocommerce hook-woocommerce

我想添加我自己的自定义付款错误文本(我们使用 Account Funds 并想添加一个额外的提示)

我如何更改,以下显示资金不足时,来自:

抱歉,您所在的州似乎没有可用的付款方式。如果您需要帮助或希望做出其他安排,请联系我们。

带有如下链接的错误消息:

您没有足够的资金来处理此订单,请<a href="/my-account">top up</a>或升级。谢谢你。

文本似乎存储在模板/结帐/payment.php

https://github.com/woocommerce/woocommerce/blob/ef05bfccfc01bb2c621ef1293e61f7c57950670f/templates/checkout/payment.php

如何更改它而不会被 Woocommerce 版本升级消灭?

Moh*_*oui 5

在 WordPress 中,过滤器是可以与事件挂钩的函数(称为钩子)。在触发事件的执行过程中,过滤器应用于事件挂钩生成的数据输出。重要的是要记住,过滤器对接收到的数据执行它们的操作,然后在数据显示在浏览器中之前返回该数据。

在您附加的文件 (payment.php) 中,您有

apply_filters( 'woocommerce_no_available_payment_methods_message' ....
Run Code Online (Sandbox Code Playgroud)

所以你可以使用过滤器“woocommerce_no_available_payment_methods_message”来改变文本

创建自定义函数并将其添加到函数文件或小插件中。

首先我们用 woocommerce 事件钩住我们自己的函数

add_filter( 'woocommerce_no_available_payment_methods_message', 'your_custom_function_name_here' );
Run Code Online (Sandbox Code Playgroud)

现在我们定义我们的函数会做什么。

function your_custom_function_name_here( $content ) {
    //your changes here
    $content = "bla bla";
    // Returns the content.
    return $content;
}
Run Code Online (Sandbox Code Playgroud)


Mau*_*tel 2

add_filter( 'woocommerce_no_available_payment_methods_message', 'change_payment_message', 10, 2);
function change_payment_message( $value, $arg2 ) {
    $message = WC()->customer->get_billing_country()?'You do not have sufficent funds to process this order, please<a
  href="/my-account">top up</a> or upgrade. Thank you':'Please fill in your details above to see available payment methods.';
    return $message;
}
Run Code Online (Sandbox Code Playgroud)