php - 在 Woocommerce 我的帐户地址和帐户详细信息中设置唯一的验证错误通知
问题描述
解决方案
要将所有字段验证错误替换为来自 Account Billing 和 Shipping Address 的唯一自定义错误,以及 Account details,您将使用以下使用两个验证钩子的钩子函数:
add_action( 'woocommerce_save_account_details_errors', 'account_validation_unique_error', 9999 ); // Details
add_action( 'woocommerce_after_save_address_validation', 'account_validation_unique_error', 9999 ); // Adresses
function account_validation_unique_error(){
$notices = WC()->session->get( 'wc_notices' ); // Get Woocommerce notices from session
// if any validation errors
if( $notices && isset( $notices['error'] ) ) {
// remove all of them
WC()->session->__unset( 'wc_notices' );
// Add one custom one instead
wc_add_notice( __( 'Please fill in all required fields…', 'woocommerce' ), 'error' );
}
}
代码在您的活动子主题(活动主题)的 function.php 文件中。测试和工作。
推荐阅读
- c++ - 为什么我会收到错误:使用基类型时从类型表达式中对类型 &my_type 的引用无效初始化?
- ruby-on-rails - 是否可以在不遍历数组的情况下选择某些元素?
- codenameone - 无法再在 Android 上构建
- javascript - 使用 TypeORM 更新多对多关系
- javascript - JavaScript 承诺不会将数据传递给 .then 除非我明确使用 Promise.resolve
- java - 使用以前版本的 json 从第三方 jar 重命名 Jsonproperties
- google-chrome - 为 webrtc chrome 同步假音频和媒体流
- java - 当我尝试在 Eclipse 上访问我的 API 但它在 IntelliJ 上工作时出现 NullPointerException
- f# - 匹配子句中的活动模式
- node.js - 将 Node.js 项目从普通 ES6 迁移到 TypeScript