
內容簡介
這個外掛允許你限制使用者在註冊網站時可以使用的使用者名稱。
如果在你的網站啟用了公開註冊(透過「設定」-> 「一般」-> 「會員資格」(「任何人都可以註冊」)),WordPress 允許訪客在你的部落格上註冊帳號。預設情況下,只要它不是已經存在的帳戶並且不包括無效(即非字母數字)字元,它所選擇的任何使用者名稱都是允許的。
限制某些使用者名稱可能的原因:
防止使用含污穢、冒犯或其他不合適的字詞的使用者名稱
防止使用者佔用未來可能想要使用的使用者名稱(但還不想立即創建帳號)(實質上將使用者名稱保留)
防止使用者使用官方的聽起來很正式的使用者名稱(例如:help、support、pr、info、sales)
防止使用者使用官方使用者名稱語法(例如:如果所有管理員都使用前綴字元來識別自己,你不想讓訪問者使用該前綴字元)
防止使用者在使用者名稱中使用空格(這是 WordPress 預設允許的)
要求使用者名稱以一個字元集開始、結尾或包含(例如:「support_」、「admin_」)
要求使用者名稱的最小字元數
限制使用者名稱的最大字元數
當嘗試使用限制的使用者名稱註冊時,訪客將收到錯誤通知,即:
錯誤:此使用者名稱無效。請輸入有效的使用者名稱。
注意:此外掛不會對管理員在 WordPress 內建立用戶帳戶時選擇的使用者名稱進行任何限制。這僅限制用戶在註冊網站時自己選擇的名稱。
特別注意:許多會員外掛會實現自己的使用者註冊處理,通常會繞過 WordPress 執行的檢查(和連接)。因此,如果沒有特殊的外掛特定修改,它可能不與這些外掛兼容。
與 Multisite 和 BuddyPress 也兼容。
連結:外掛首頁 | 外掛目錄頁面 | GitHub | 作者首頁
Hooks
這個外掛公開了一個可連接的篩檢器。通常,使用此連接器進行自定義的客製化檢查,可以將其放入你的現行主題的 functions.php 檔案中,或由另一個外掛使用。
c2c_restrict_usernames-validate (篩檢器)
「c2c_restrict_usernames-validate」連接器允許你新增自己定制的使用者名稱檢查。你可以新增其他限制或覆蓋外掛的評估。
引數:
$valid(布林值):外掛信根據設置進行的關於使用者名稱有效性的評估,True 表示可以使用使用者名稱。
$username(字串):正在註冊的使用者名稱。
$settings(陣列):外掛設置。
範例:
/**
* 添加使用者名稱自定義檢查。
*
* 具體來說,防止使用以數字結尾的使用者名稱。
*
* @param bool $valid 如果使用者名稱有效,則為 True,否則為 False。
* @param string $username 使用者名稱。
* @param array $options 外掛選項。
*/
function my_restrict_usernames_check($valid, $username, $options) {
外掛標籤
開發者團隊
原文外掛簡介
This plugin allows you to restrict the usernames that new users may use when registering for your site.
If open registration is enabled for your site (via Settings -> General -> Membership (“Anyone can register”)), WordPress allows visitors to register for an account on your blog. By default, any username they choose is allowed so long as it isn’t an already existing account and it doesn’t include invalid (i.e. non-alphanumeric) characters.
Possible reasons for wanting to restrict certain usernames:
Prevent usernames that contain foul, offensive, or otherwise undesired words
Prevent squatting on usernames that you may want to use in the future (but don’t want to actually create the account for just yet) (essentially placing a hold on the username)
Prevent official-sounding usernames from being used (i.e. help, support, pr, info, sales)
Prevent official username syntax from being used (i.e. if all of your administrators use a prefix to identify themselves, you don’t want a visitor to use that prefix)
Prevent spaces from being used in a username (which WordPress allows by default)
Require that a username starts with, ends with, or contain one of a set of substrings (i.e. “support_”, “admin_”)
Require a minimum number of characters for usernames
Limit usernames to a maximum number of characters
When attempting to register with a restricted username, the visitor will be given an error notice that says:
ERROR: This username is invalid. Please enter a valid username.
NOTE: This plugin does not put any restrictions on usernames that the admin chooses for users when creating user accounts from within the WordPress admin. This only restricts the names that users choose themselves when registering for your site.
SPECIAL NOTE: Many membership plugins implement their own user registration handling that often bypasses checks (and hooks) performed by WordPress. As such, it is unlikely that the plugin is compatible with them without special plugin-specific amendments.
Compatible with Multisite and BuddyPress as well.
Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage
Hooks
The plugin exposes one filter for hooking. Typically, customizations utilizing this hook would be put into your active theme’s functions.php file, or used by another plugin.
c2c_restrict_usernames-validate (filter)
The ‘c2c_restrict_usernames-validate’ hook allows you to add your own customized checks for the username being registered. You can add additional restrictions or override the assessment performed by the plugin.
Arguments:
$valid (boolean): The assessment by the plugin about the validity of the username based on settings. True means username can be used.
$username (string): The username being registered.
$settings (array): The plugin’s settings.
Example:
/**
* Add custom checks on usernames.
*
* Specifically, prevent use of usernames ending in numbers.
*
* @param bool $valid True if the username is valid, false if not.
* @param string $username The username.
* @param array $options Plugin options.
*/
function my_restrict_usernames_check( $valid, $username, $options ) {
// Only do additional checking if the plugin has already performed its
// checks and deemed the username valid.
if ( $valid ) {
// Don't allow usernames to end in numbers.
if ( preg_match( '/[0-9]+$/', $username ) ) {
$valid = false;
}
}
return $valid;
}
add_filter( 'c2c_restrict_usernames-validate', 'my_restrict_usernames_check', 10, 3 );
