You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:40:26