在 Woocommerce 结帐页面中设置唯一的验证错误通知

nat*_*nat 3 php validation wordpress checkout woocommerce

如果必填字段为空,Woocommerce 结账页面会显示单独的错误。通常,如果所有字段均为空,则将显示这些空字段的所有错误:
\n- 名字是必填字段
\n- 姓氏是必填字段
\n- 街道地址是必填字段
\n- 城镇/城市为必填字段
\n依此类推\xe2\x80\xa6

\n\n

如果所有必填字段都为空,是否可以只显示一个错误?就像 \xe2\x80\x9cERROR: 所有字段都是空的。请填写所有必填字段才能下订单。\xe2\x80\x9d 如何实现这一点?

\n\n

结账页面

\n\n

结账页面

\n

Loi*_*tec 5

要在 Woocommerce 结帐页面中设置唯一的验证错误通知,您将使用以下内容:(代码主要来自您的上一个问题,对社区有用。只需更改为官方函数参数代码)

add_action( 'woocommerce_after_checkout_validation', 'checkout_validation_unique_error', 9999, 2 );
function checkout_validation_unique_error( $data, $errors ){
    // Check for any validation errors
    if( ! empty( $errors->get_error_codes() ) ) {

        // Remove all validation errors
        foreach( $errors->get_error_codes() as $code ) {
            $errors->remove( $code );
        }

        // Add a unique custom one
        $errors->add( 'validation', 'Please fill in all required fields to place order.' );
    }
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(活动主题)的 function.php 文件中。经过测试并有效。

在此输入图像描述

相关: 在 Woocommerce 我的帐户地址和帐户详细信息中设置唯一的验证错误通知