新站提交
  • 网站:687
  • 待审:0
  • 小程序:15
  • 文章:3855
2021服务器优惠

阿里云:2核2G5M服务器60元/年、2核4G 200元/年、4核8G服务器365元/年 更多...
腾讯云:云产品限时秒杀,爆款1核2G云服务器,首年74元 更多...

wordpress博客默认是不支持注册中文用户名的,无论是用户前台注册,还是你在后台添加,只要包含了中文,他就会提示“此用户名包含无效字符”。解决这类问题无非是修改代码或是使用插件。不过最好的办法是修改主题,这样就不用担心WordPress升级导致覆盖修改文件了。

修改代码

打开wp-includes目录下的formatting.php文件,搜索“function sanitize_user( $username, $strict = false )”在其下面增加代码“$strict = false;”

function sanitize_user( $username, $strict = false ) {
    $strict = false;//解决无法注册中文用户名问题
    $raw_username = $username;
    $username = wp_strip_all_tags( $username );
    $username = remove_accents( $username );

修改代码解决问题的缺点是,每次WordPress升级之后,需要再次操作一遍。

修改主题

鉴于WordPress如此频繁的更新频率,修改源文件是极其不理智的做法,下次更新又得重新修改。WordPress提供了那么丰富的filter和action,何不加以利用呢?

下面是我从WordPress Answers上搜索到的方法,将以下php代码复制到当前主题目录下的functions.php中,即可让WordPress支持使用中文用户名注册和登录:

function uctheme_non_strict_login( $username, $raw_username, $strict ) {
if( !$strict )
return $username;
return sanitize_user(stripslashes($raw_username), false);
}
add_filter('sanitize_user', 'uctheme_non_strict_login', 10, 3);
WordPress

分享到:

  runsly

注册时间:

网站:1 个   小程序:3 个  文章:12 篇

  • 687

    网站

  • 15

    小程序

  • 3855

    文章

  • 298

    会员

赶快注册账号,推广您的网站吧!
热门网站
最新入驻小程序

短视频免费去水印2020-10-21

免费去水印小工具,支持快手抖音,微

今日楚雄2020-04-04

楚雄综合权威互联网新闻分类信息

楚雄出行2020-03-28

楚雄顺风车平台

数独大挑战2018-06-03

数独一种数学游戏,玩家需要根据9

答题星2018-06-03

您可以通过答题星轻松地创建试卷

全阶人生考试2018-06-03

各种考试题,题库,初中,高中,大学四六