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

问题描述 投票:1回答:4

如果必填字段为空,Woocommerce结帐页面会显示个别错误。通常,如果所有字段都为空,则会显示这些空字段的所有错误: - 名字是必填字段 - 姓氏是必填字段 - 街道地址是必填字段 - 城镇/城市是必填项目 等等…

如果所有必填字段都为空,是否可以只显示一个错误?像“错误:所有字段都是空的。请填写所有必填字段以下订单。“如何实现这一目标?

结帐页面

Checkout page

php wordpress validation woocommerce checkout
4个回答
2
投票

要在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.' );
    }
}

代码位于活动子主题(活动主题)的function.php文件中。经过测试和工作。

enter image description here

相关:Set a unique validation error notice in Woocommerce My Account Addresses and Account Details


0
投票

您需要禁用当前错误检查并为结帐页面编写自定义javascript,以便将所有错误放在一条消息中。

没有原生的WooCommerce功能可以实现这一目标。

要删除验证,请转到checkout.php模板并从html字段中删除required属性。

结帐this link关于如何将HTML和javascript添加到结帐页面。


0
投票

hHi,您可以从结帐字段中删除验证并添加您的:

这是钩子:

add_filter( 'woocommerce_default_address_fields' , 'filter_default_address_fields', 20, 1 );

更多,你可以去

therichpost


-1
投票

按下结帐按钮时通常会显示。但如果你在页面加载时看它。也许这是由woocommerce错误。你应该更新woocommerce插件。我希望你更新插件时会出现这个错误。

但在那之后,如果您遇到同样的问题,请与我联系。我会看看它。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.