WordPress解决中文用户名长度不可超过五位数问题

作者 : sinyi 发布时间: 2019-09-23 文章热度:101 共677个字,阅读需2分钟。 隐藏侧边 显示侧边

首先,wordpress我默认不支持中文用户名注册。 网上的通用代码是这个,直接拷贝到 functions.php

然后测试发现超过5个中文字,就无法成功注册。需要修改下数据库字段的长度了。

WordPress解决中文用户名长度不可超过五位数问题-资源客

//设置注册用户名允许为中文
function add_chinese_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’, ‘add_chinese_user’, 10, 3);

 

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
资源客 » WordPress解决中文用户名长度不可超过五位数问题

发表评论