繁体   English   中英

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

[英]Change WooCommerce checkout error text on Checkout Page

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

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

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

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

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

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

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

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

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

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

apply_filters( 'woocommerce_no_available_payment_methods_message' ....

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

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

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

add_filter( 'woocommerce_no_available_payment_methods_message', 'your_custom_function_name_here' );

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

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

您只需要添加一个过滤器并在您的子主题的 functions.php 文件中应用您的更改:

add_filter( 'woocommerce_no_available_payment_methods_message', function( $no_gateways_message ) {
    return 'You do not have sufficent funds to process this order, please <a href="' . home_url( '/my-account/' ) . '">top up</a> or upgrade. Thank you.';
});

让我知道这是否有效。

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;
}

谢谢@cornel,你的代码对我有用。

我还可以修改它,如下所示:

add_filter( 'woocommerce_no_available_payment_methods_message', function( $no_gateways_message ) {
    return 'Sorry, you do not have sufficent funds to process this order, please <a href="' . home_url( '/my-account/' ) . '">Click here top up</a> or upgrade. Thank you.';
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM