如何修改WooCommerce找回密码页面的错误提示信息
修改WooCommerce找回密码页面的错误提示信息
嘿,这个需求我熟!要修改找回密码页面的这两条错误提示,千万别直接改动WooCommerce核心文件——不然插件一更新,你的修改就全没了。最稳妥的方式是用WordPress的过滤器钩子,下面给你两种实用方案:
方案一:通用文本替换(适合替换任意WooCommerce文本)
用gettext过滤器可以全局匹配并替换指定文本,只要对应上原文和WooCommerce的文本域就行。把这段代码加到你的主题functions.php文件里,或者自定义功能插件中:
add_filter('gettext', 'custom_lost_password_error_messages', 20, 3); function custom_lost_password_error_messages($translated_text, $text, $domain) { // 替换"Enter a username or email address." if ($text === 'Enter a username or email address.' && $domain === 'woocommerce') { $translated_text = '请输入用户名或邮箱地址。'; // 改成你想要的自定义文本 } // 替换"Invalid username or email." if ($text === 'Invalid username or email.' && $domain === 'woocommerce') { $translated_text = '用户名或邮箱地址无效,请检查后重试。'; // 改成你想要的自定义文本 } return $translated_text; }
方案二:精准修改找回密码错误(更专业)
如果只想针对找回密码流程的错误提示做修改,可以用WooCommerce专门的woocommerce_lost_password_errors过滤器,直接操作错误对象:
add_filter('woocommerce_lost_password_errors', 'custom_lost_password_specific_errors', 10, 1); function custom_lost_password_specific_errors($errors) { // 遍历错误信息,替换目标内容 foreach ($errors->get_error_messages() as $key => $message) { if ($message === 'Enter a username or email address.') { $errors->remove($key); $errors->add('empty_username', '请填写用户名或邮箱地址哦~'); // 自定义提示文本 } if ($message === 'Invalid username or email.') { $errors->remove($key); $errors->add('invalid_username', '抱歉,这个用户名/邮箱不存在,请核实后再试!'); // 自定义提示文本 } } return $errors; }
小提醒
- 代码添加位置:优先用自定义功能插件,其次是当前主题的
functions.php(用子主题更好,避免主题更新丢失修改)。 - 测试:修改后记得清空网站缓存,然后测试找回密码流程,确保提示信息正常显示。
内容的提问来源于stack exchange,提问作者user9588368
相关产品推荐
相关产品推荐

