WordPress 自定义注册登录错误信息文字

自从 WordPress 6.0 发布后,简体中文版一直翻译不全,比如菜单设置页面有英文,对管理员来说障碍不是很大,但让人受不了的是注册登录错误提示信息也翻译不全,比如用户注册时填写邮箱格式不对,直接蹦出来个“Error: The email address is not correct.”用户肯定懵逼,中文的网站咋还显示英文呢?那就自己动手解决吧,修改这些提示文字,再加上这些文字也并不一定符合自己的要求,提示文字在是 WordPress 程序 wp-includes 目录 user.php 文件中,可以根据自己的喜好修改,修改完记得将文件编码修改为:UTF-8 无 BOM(无签名),不然会显示乱码。当然下次更新还要再改一次,有些麻烦,可以通过下面的代码,修改这些默认的提示文字。

将代码添加到当前主题函数模板 functions.php 即可。

  1.     // 登录错误信息
  2.     remove_filter( 'authenticate', 'wp_authenticate_username_password' );
  3.     add_filter( 'authenticate', 'zm_authenticate_username_password', 20, 3 );
  4. 
    
  5.     function zm_authenticate_username_password( $user, $username, $password ) {
  6.     	if ( is_a( $user, 'WP_User' ) )
  7.     		return $user;
  8. 
    
  9.     	if ( empty( $username ) || empty( $password ) ) {
  10.     		if ( is_wp_error( $user ) )
  11.     		return $user;
  12. 
    
  13.     		$error = new WP_Error();
  14. 
    
  15.     		if ( empty( $username ) )
  16.     			$error->add( 'empty_username', __('请输入用户名', 'zm' ) );
  17. 
    
  18.     		if ( empty( $password ) )
  19.     			$error->add( 'empty_password', __( '请输入密码', 'zm' ) );
  20. 
    
  21.     		return $error;
  22.     	}
  23. 
    
  24.     	$user = get_user_by( 'login', $username );
  25. 
    
  26.     	if ( !$user )
  27.     		return new WP_Error( 'invalid_username', sprintf( __( '无此用户', 'zm' ) ) );
  28. 
    
  29.     	$user = apply_filters( 'wp_authenticate_user', $user, $password );
  30.     	if ( is_wp_error( $user ) )
  31.     		return $user;
  32. 
    
  33.     	if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) )
  34.     		return new WP_Error( 'incorrect_password', sprintf( __( '用户名与密码不匹配', 'zm' ) ) );
  35. 
    
  36.     	return $user;
  37.     }
  38. 
    
  39.     // 注册错误信息
  40.     add_filter( 'registration_errors', 'zm_registration_error_message' );
  41.     function zm_registration_error_message( $errors ) {
  42.     	if( isset( $errors->errors['invalid_email'] ) ) {
  43.     		$errors->errors['invalid_email'][0] = __( '请输入正确的邮件', 'zm' );
  44.     	}
  45. 
    
  46.     	if( isset( $errors->errors['username_exists'] ) ) {
  47.     		$errors->errors['username_exists'][0] = __( '用户名已被占用', 'zm' );
  48.     	}
  49.     	// 添加其它错误提示
  50.     	// ['empty_email']
  51.     	// ['empty_username']
  52.     	return $errors;
  53.     }

貌似现在 WordPress 不是人工翻译,也不会有人干预,这个问题或将长期存在,也可能永远就这样了,不会再有什么完整的简体中文版语言包…

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明 1、本站所发布的全部内容源于互联网搬运,(包括源代码、软件、学习资料等)本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的23个小时之内,从您的电脑或手机中彻底删除上述内容。
2、访问本站的用户必须明白,本站对所提供下载的软件和程序代码不拥有任何权利,其版权归该软件和程序代码的合法拥有者所有,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容!敬请谅解! 侵删请致信E-mail:messi0808@qq.com
3、如下载的压缩包需要解压密码,若无特殊说明,那么文件的解压密码则为www.77code.com
4、如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

琪琪源码网 cms教程 WordPress 自定义注册登录错误信息文字 https://www.77code.com/zh/cms/19885.html

相关文章