我們可以通過做如下的修改來實(shí)現(xiàn)讓wordpress允許使用中文用戶名登錄:
1、打開wp-includes/formatting.php文件
2、找到
function sanitize_user( $username, $strict = false ) {3、在緊接著下一行增加
$strict = false;通過簡單的三部曲即可實(shí)現(xiàn)該功能,原理也很簡單,強(qiáng)制使$strict = false,這樣wordpress注冊(cè)或修改用戶名時(shí)就不會(huì)對(duì)用戶名字符進(jìn)行嚴(yán)格的處理,中文用戶名可以正常使用。
1.安全性問題:如果任何字符串都可以注冊(cè)為用戶名,是否會(huì)對(duì)自己的網(wǎng)站構(gòu)成威脅?
2.升級(jí)后覆蓋問題:如果你升級(jí)wordpress,wp-includes/formatting.php文件會(huì)被升級(jí)文件覆蓋,你需要重新修改這個(gè)地方,否則新的用戶可能無法再使用中文用戶名,而原本的中文用戶名可能也會(huì)遇到修改信息、登錄等麻煩。
另一種解決辦法
wordpress博客默認(rèn)是不支持注冊(cè)中文用戶名的,無論是用戶前臺(tái)注冊(cè),還是你在后臺(tái)添加,只要包含了中文,他就會(huì)提示“此用戶名包含無效字符”。解決這類問題無非是修改代碼或是使用插件。
修改代碼打開wp-includes目錄下的formatting.php文件,搜索“function sanitize_user( $username, $strict = false )”在其下面增加代碼“$strict = false;”
function sanitize_user( $username, $strict = false )
{
$strict = false;//解決無法注冊(cè)中文用戶名問題
$raw_username = $username;
$username = wp_strip_all_tags( $username );
$username = remove_accents( $username );
}
修改代碼解決問題的缺點(diǎn)是,每次WordPress升級(jí)之后,需要再次操作一遍。
現(xiàn)在我們就可以實(shí)現(xiàn)中文登錄了
更多信息請(qǐng)查看IT技術(shù)專欄