更改登录错误消息


19

看了一下问题,但我找不到类似的问题。

我需要更改用户尝试使用错误的用户名或密码登录时显示的自定义错误消息。

像这样,更改:“ 错误:您为用户名%1 $ s输入的密码不正确。忘记密码了吗?” 此“错误信息”(仅作为示例)

我尝试使用“ add_filter”,但是我不熟悉它,因此,任何帮助将不胜感激!谢谢


值得一提的是,user20986上面的评论是垃圾邮件。它带您到一个页面,该页面告诉您您的Flash软件已过期,需要更新。建议管理员删除user20986的评论
leromt

Answers:


21

您可以使用login_errors滤镜挂钩来做到这一点,方法如下:

add_filter('login_errors','login_error_message');

function login_error_message($error){
    //check if that's the error you are looking for
    $pos = strpos($error, 'incorrect');
    if (is_int($pos)) {
        //its the right error so you can overwrite it
        $error = "Wrong information";
    }
    return $error;
}

更新:

我刚刚测试了代码,并且将代码粘贴到主题的functions.php文件中,但未更改.po文件的任何内容,效果很好

在此处输入图片说明


只是为了使所有内容都清楚,我应该用错误字符串替换“ incorrect”吗?顺便说一句,谢谢您的回答!
Vitor Argos

只是尝试过这种方法,t work, but I不能确定wordpress .po文件是否覆盖了文本。有任何想法吗?
Vitor Argos

来自WordPress.po的文本是在触发该过滤器挂钩之前提供的,而且您不必更改incorrect,它会检查错误消息是否包含该单词。
Bainternet 2011年

我试图使它起作用,但是我做不到。实际上,我什至试图删除条件部分,因此它应该在$ error变量中返回文本,对吗?但这没有效果。挖掘.po文件后,我看到要覆盖的消息位于wp-includes / user.php文件中,例如:“ <strong>错误</ strong>:用户名字段为空”。
Vitor Argos

@Vitor,您做错了什么,没有必要触摸.po文件,我更新了答案。
Bainternet 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.