wordpress中文用户名长度问题

付费节点推荐

免费节点

节点使用教程

Clash 小火箭 v2ray节点购买

好用的梯子,海外网络,快速稳定

Google

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

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

//设置注册用户名允许为中文
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);

 

#wordpress开发
评论(0)
游客的头像
表情
全部评论
最新