wordpress用中文昵称注册
wordpress为了安全考虑,注册时只能用英文不支持中文
将以下代码添加到主题的 functions.php 文件
// 允许中文用户名注册
remove_filter('sanitize_user', 'sanitize_user', 10, 3);
add_filter('sanitize_user', function($username, $raw_username, $strict) {
// 基础清理
$username = wp_strip_all_tags($raw_username);
$username = remove_accents($username);
$username = preg_replace('/\s+/', '', $username);
$username = trim($username);
// 安全过滤:只允许中文、字母、数字、下划线、连字符和点
$username = preg_replace('/[^\p{Han}a-zA-Z0-9_\-.]/u', '', $username);
// 长度限制 (匹配数据库字段)
$username = substr($username, 0, 20);
return $username;
}, 10, 3);
// 验证用户名格式
add_filter('validate_username', function($valid, $username) {
// 确保包含有效字符
if (!preg_match('/^[\p{Han}a-zA-Z0-9_\-.]{2,}$/u', $username)) {
return false;
}
return $valid;
}, 10, 2);
评论 (0)