您的位置:小众博客 > Wordpress > 正文

让WordPress支持使用中文用户名注册和登录

超人不会飞 / Wordpress / 1810人阅读(点这评论

部分站长需要让WordPress支持中文用户名。上网搜索一下,中文的教程几乎是千篇一律地要修改WordPress的源文件formatting.php,鉴于WordPress如此频繁的更新频率,修改源文件是极其不理智的做法,下次更新又得重新修改。WordPress提供了那么丰富的filter和action,何不加以利用呢?

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

function ludou_sanitize_user ($username, $raw_username, $strict) {
  $username = wp_strip_all_tags( $raw_username );
  $username = remove_accents( $username );
  // Kill octets
  $username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username );
  $username = preg_replace( '/&.+?;/', '', $username ); // Kill entities

  // 网上很多教程都是直接将$strict赋值false,
  // 这样会绕过字符串检查,留下隐患
  if ($strict) {
    $username = preg_replace ('|[^a-z\p{Han}0-9 _.\-@]|iu', '', $username);
  }

  $username = trim( $username );
  // Consolidate contiguous whitespace
  $username = preg_replace( '|\s+|', ' ', $username );

  return $username;
}

add_filter ('sanitize_user', 'ludou_sanitize_user', 10, 3);

via Allowing non-latin characters in registration

- END -

标签:wordpress教程 

业界动态
  • 搜狗开了个小差儿
  • 权健实际控制人束某某等18人被刑拘
  • 8 岁的微信更新了 7.0,张小龙想要如何打动你我?
  • 晚报 因色情内容微信及QQ邮箱暂停漂流瓶服务
  • 晚报 瓜子二手车因违反广告法被开千万罚单
  • 谷歌再砍通讯应用环聊Hangouts 2020年关停旧版
  • 阿里巴巴调整架构:阿里云升级为阿里云智能
  • Steam正式进入中国
  • 欧盟拟征“链接税” 谷歌威胁关闭“谷歌新闻”
  • 微信确认将推企业版微信 工作生活分开说
  • 网站运营
  • 什么是Referer 设置防盗链时候指明和不指明空Referer的区别
  • 宝塔面板迁移系统盘/www到数据盘/data
  • 自适应网页设计代码需要做的6大调整
  • 站长们,不要忘了你的网站是要做什么的
  • 浅谈网站网页面价值所在
  • 2016年网络SEO外链指南
  • 网站优化太早并不是一定是好事
  • 十年博客路 花开花散 云卷云舒
  • SEO专员,如何评估一个外链的价值?
  • 从博客与微博的区别,谈社交创新的九败一胜
  • 年度热门
  • Typecho缓存插件 TpCache for Typecho
  • 大疆无人机针对美国市场涨价
  • 谷歌正式关闭短网址服务GOO.GL
  • 支付宝回应AI换脸 出意外全额赔付
  • 微博调整转发评论数据上限一百万
  • 越来越多的中年人消失在朋友圈
  • 2018年搜索引擎百度拦截打击500多亿条有害信息
  • 搜狗开了个小差儿
  • 8 岁的微信更新了 7.0,张小龙想要如何打动你我?
  • 阿里云双12服务器两折优惠 仅限新人使用