在Woocommerce中翻译结帐字段验证错误通知

时间:2018-12-13 11:10:19

标签: php wordpress validation woocommerce checkout

如何翻译Woocommerce Checkout页面验证错误消息?我尝试使用

function ship_to_different_address_translation( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {

        case 'Billing First name is a required field.' :
            if ( get_locale() == 'en_GB' ) {
                $translated_text = __( 'Please fill in all the required fields!', 'woocommerce' );
            }
            break;
    }

    return $translated_text;
}

add_filter('gettext', 'ship_to_different_address_translation', 20, 3);       

此代码适用于所有字符串(检出验证错误消息除外)。可以用“请填写所有必填字段!”替换所有错误消息吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

1)自定义Woocommerce结帐字段的默认验证错误通知

您可以使用woocommerce_checkout_required_field_notice专用过滤器挂钩自定义每个通知,并更改以下文本:

add_filter( 'woocommerce_checkout_required_field_notice', 'custom_checkout_required_fields_error_notice', 10, 2 );
function custom_checkout_required_fields_error_notice( $error_notice, $field_label ) {
    $error_notice = sprintf( __( '%s is a required field.', 'woocommerce' ), '<strong>' . esc_html( $field_label ) . '</strong>' );

    return $error_notice; 
}

代码进入您的活动子主题(活动主题)的function.php文件中。经过测试,可以正常工作。

2)将所有验证错误通知替换为Woocommerce结帐字段的一个唯一的自定义错误通知

请参阅:Set a unique validation error notice in Woocommerce checkout page