倡萌之前已經(jīng)推薦過使用 Restrict Usernames 插件限制用戶名使用空格,禁止注冊(cè)某些用戶名,禁止用戶名包含某些字段,或者強(qiáng)制用戶名必須包含某些字段等。

今天再補(bǔ)充一個(gè)簡(jiǎn)單點(diǎn)的方法,直接將下面的代碼添加到主題的 functions.php 即可:
/**
* WordPress 禁止用戶注冊(cè)某些用戶名
* http://www.ydqwiac.cn/wordPress-username-restrictions.html
*/
function sozot_validate_username($valid, $username) {
$forbidden = array('directory', 'domain', 'download', 'downloads', 'edit', 'editor', 'email', 'ecommerce', 'forum', 'forums', 'favorite', 'feedback', 'follow', 'files', 'gadget', 'gadgets', 'games', 'guest', 'group', 'groups', 'homepage', 'hosting', 'hostname', 'httpd', 'https', 'information', 'image', 'images', 'index', 'invite', 'intranet', 'indice', 'iphone', 'javascript', 'knowledgebase', 'lists','websites', 'webmaster', 'workshop', 'yourname', 'yourusername', 'yoursite', 'yourdomain');
$pages = get_pages();
foreach ($pages as $page) {
$forbidden[] = $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, $forbidden )) $valid=false;
if ($valid && strlen($username) < 5) $valid=false;
return $valid;
}
add_filter('validate_username', 'sozot_validate_username', 10, 2);
function sozot_registration_errors($errors) {
if ( isset( $errors->errors['invalid_username'] ) )
$errors->errors['invalid_username'][0] = __( '錯(cuò)誤:該用戶名不允許注冊(cè)!', 'sozot' );
return $errors;
}
add_filter('registration_errors', 'sozot_registration_errors');
你只需將禁止注冊(cè)的用戶名添加到第 6 行的數(shù)組即可。
參考資料:https://sozot.com/wordpress-username-restrictions-without-a-plugin/
PS:經(jīng)過倡萌測(cè)試,本文的代碼和 Restrict Usernames 插件可能對(duì)某些注冊(cè)插件或自定義注冊(cè)表單可能不生效,比如本站目前使用的注冊(cè)表單就不支持,很郁悶的說!
聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。





大佬 如果禁止郵箱做為登錄名 是不是直接可以加*@qq.com類似的格式啊
能不能設(shè)置成只要包含某個(gè)字就不能注冊(cè)啊。
你可以試下 http://www.ydqwiac.cn/restrict-usernames.html 這個(gè)插件是否可以
如何禁止某一特定郵箱或者用戶名通過post方式注冊(cè)呢?我已經(jīng)用了郵箱黑名單插件了,但是仍舊擋不住一些郵箱注冊(cè)。
那你可以試試 http://www.ydqwiac.cn/add-a-security-question-to-the-register-screen.html
我目前使用的就是這個(gè),非常有效