php 在WooCommerce Checkout中更改错误消息,以获取不可用的送货方式

v2g6jxz6  于 2023-10-15  发布在  PHP
关注(0)|答案(1)|浏览(111)

我面临着一个问题,而试图自定义错误消息显示在WooCommerce结帐时,没有航运方法可用

我已经用各种钩子做了多次尝试,但都没能达到预期的效果。下面是我尝试的内容的概要沿着相应的代码片段:
尝试1:使用woocommerce_checkout_no_shipping_available_notice

function custom_change_shipping_error_message( $message ) {
    return 'We are not available at this location at this moment. Please change the date and try again or call our customer support.';
}
add_filter( 'woocommerce_checkout_no_shipping_available_notice', 'custom_change_shipping_error_message' );

尝试2:Using woocommerce_no_shipping_available_html

function custom_change_shipping_error_message( $message ) {
    return 'We are not available at this location at this moment. Please change the date and try again or call our customer support.';
}
add_filter( 'woocommerce_no_shipping_available_html', 'custom_change_shipping_error_message' );

尝试3:Using 'woocommerce_checkout_error

function custom_change_shipping_error_message( $message, $error ) {
    if ( is_array( $error ) && in_array( 'no_shipping_method_selected', $error ) ) {
        $message = 'We are not available at this location at this moment. Please change the date and try again or call our customer support.';
    }
    return $message;
}

add_filter( 'woocommerce_checkout_error', 'custom_change_shipping_error_message', 10, 2 );

尽管做了这些努力,我仍然遇到默认错误消息,而且这些更改似乎都没有生效。任何人都可以提供指导,我可能会错过什么,或建议一种替代方法,以成功地自定义在WooCommerce结帐过程中的错误消息?您的协助将不胜感激!

vsmadaxz

vsmadaxz1#

一个选项是使用woocommerce_add_error过滤器并检查错误文本。
请注意,这种方法仅在错误消息保持不变时有效,例如,在具有翻译错误消息的多语言网站上,您可能会遇到问题。

function change_no_shipping_method_error_text( $error ) {
    if( 'No shipping method has been selected. Please double check your address, or contact us if you need any help.' == $error ) {
        $error = 'New error message';
    }
    return $error;
}
add_filter( 'woocommerce_add_error', 'change_no_shipping_method_error_text' );

相关问题