我试图在我的wordpress博客中获得只允许小写的用户名是有效的用户名。我成功地编写了一个函数,但它似乎不起作用。
add_filter(\'validate_username\' , \'simple_user\', 1, 2);
function simple_user($valid, $username ) {
if (preg_match("/[a-z0-9]+/", $username)) {
// there are spaces
return $valid=false;
}
return $valid;
}
有什么办法可以让它发挥作用吗?我试过了,但没用。如果有人能帮我做这件事,我将非常感激。非常感谢。
最合适的回答,由SO网友:fuxia 整理而成
过滤器validate_username
发送并需要布尔值,而不是字符串。
钩入sanitize_user
和使用mb_strtolower()
.
未测试的示例代码:
add_filter( \'sanitize_user\', \'wpse_83689_lower_case_user_name\' );
function wpse_83689_lower_case_user_name( $name )
{
// might be turned off
if ( function_exists( \'mb_strtolower\' ) )
return mb_strtolower( $name );
return strtolower( $name );
}