如何翻译“密码错误”信息

时间:2013-12-16 作者:p.a.

我尝试在系统登录时翻译“错误密码”响应。

我更新wp登录。php,但我没有发现任何错误密码、错误用户的处理程序。

也许这种通用测试是在其他地方进行的?

非常感谢。

2 个回复
最合适的回答,由SO网友:Maruti Mohanty 整理而成

我们也可以使用过滤器wp_login_errors 在中可用wp-login.php 执行上述操作。使用相同的过滤器,您也可以自定义其他错误消息,如registration, checkmail

在活动主题中使用以下代码functions.php 文件

add_filter( \'wp_login_errors\', \'override_incorrect_password_msg\', 10, 2 );
function override_incorrect_password_msg( $errors, $redirect_to ) {
    if( isset( $errors->errors[\'incorrect_password\'] ) ) {
        $errors->errors[\'incorrect_password\'][0] = \'Your new message\';
    }

    return $errors;
}
如果您想在此时获得用户名,可以使用另一个钩子ie:wp_login_failed

add_action( \'wp_login_failed\', \'wpse_end_login_fail\' );
function wpse_end_login_fail( $username ) {

echo $username;
// Go on with what you want to do with the login failed username

}
以上内容将为您提供用户名

您可以在下图中看到上述一组正在运行的代码。您可以在图像/屏幕截图的左上角看到我们使用挂钩获得的用户名

enter image description here

SO网友:fuxia

文本来自wp_authenticate_username_password() 在里面wp-includes/user.php. 没有其他过滤器gettext. 所以这是可行的:

add_filter( \'gettext\', function( $translation, $text, $domain )
{
    if ( \'default\' !== $domain )
        return $translation;

    if ( \'<strong>ERROR</strong>: The password you entered for the username <strong>%1$s</strong> is incorrect. <a href="%2$s" title="Password Lost and Found">Lost your password</a>?\' !== $text )
        return $translation;

    return \'Custom password message\';
}, 10, 3 );
screen shot

结束

相关推荐

Validate Custom Login field

我在wordpress主登录页面中添加了一个额外的登录字段。必须选中该复选框(以接受条款和条件),否则用户无法登录。I have taken code from this question 这允许我在登录时添加一个自定义复选框。但是,试图修改给定的代码以验证是否选中了复选框,我无法开始工作。function check_checkbox($user) { $acceptance = $_POST[\'terms_acceptance\']; $user = get