wordpress禁止注册指定用户名

有些wordpress站点是开放注册的,开放注册要保留某些用户名,为的是防止他人注册一些特殊含义的用户名,有的可能是我们不喜欢的用户名或者是含有攻击性的,本文介绍两种方式让wordpress禁止注册指定用户名

第一种方法:插件法,Restrict Usernames Emails Characters插件可以用来实现此功能,如下图所示:

使用这款插件可以wordpress禁止注册指定用户名,还可以添加一系列的规则来帮助你的wordpress主题控制注册用户名,如禁止用户名包含某些字段,强制用户名必须包含某些字段等,如下图所示:

第二种方法:在wordpress主题的functions.php中添加如下代码

function hx_stop_register($valid, $username){
    $stopuser =[
        'admin8',
        'ok',
        'nihao',
        'hello'
    ];
    $pages = get_pages();
    foreach ($pages as $page) {
        $stopuser[] = $page->post_name;
    }
    if(!$valid || is_user_logged_in() && current_user_can('create_users') ) return $valid;
    $username = strtolower($username);
    if ($valid && strpos( $username, ' ' ) !== false) $valid=false;
    if ($valid && in_array( $username, $stopuser )) $valid=false;
    if ($valid && strlen($username) < 5) $valid=false;
    return $valid;
}
add_filter('validate_username', 'sozot_validate_username', 10, 2);

function hx_top_reg($errors) {
    if ( isset( $errors->errors['invalid_username'] ) )
        $errors->errors['invalid_username'][0] = __( '错误:该用户名不允许注册!', 'sozot' );
    return $errors;
}
add_filter('registration_errors', 'hx_top_reg');

上述代码中的stopuser就是禁止注册的用户名列表,把你想禁止注册指定用户名填写在这里就可以了,wordpress扩展功能很强大,就如wordpress分类中添加自定义字段等一些功能都可以通过主题函数来扩展。

我爱主题网 自2012
主题:260+ 销售:1000+
兼容浏览器

电话咨询

7*12服务咨询电话:

133-7205-6573

微信咨询