|
|
如果你也正在用wordpress作为博客或者企业网站,那么一定对这个用户页面并不陌生:

Wordpress的强大地球上的人都清楚,但是从另一方面说,它有时候也会让我们感到繁杂。比如用户设置吧,从上面的图中就可以看到关于名称的设置就有“用户名”、“名”、“姓”、“昵称”、“公开显示名称”,除了“名”和“姓”可以不设置,另外三个都要设置。
想用中文名作为“用户名”的用户可能会遇到这样的问题:当以中文字符注册时,系统提示错误:

如今连域名都支持中文字符了,wordpress这么流行的东西居然还不支持中文用户名,实在有点说不过去,毕竟现实中确实存在这方面的需求。好在我们可以通过修改系统函数让其支持中文用户名。控制注册字符的函数是在wp_includes/formatting.php中定义的sanitize_user,代码如下
function sanitize_user( $username, $strict = false ) { $raw_username = $username; $username = wp_strip_all_tags( $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 // If strict, reduce to ASCII for max portability. if ( $strict ) $username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username ); // Consolidate contiguous whitespace $username = preg_replace( '|\s+|', ' ', $username ); return apply_filters( 'sanitize_user', $username, $raw_username, $strict );} |
|