作为一般指示,我要说的是,不要立即通过电子邮件向用户发送密码。
wp\\u new\\u user\\u通知功能是可插入的,因此如果您向函数文件或插件中添加以下内容,管理员仍会收到新的用户通知,但用户本身不会。
if ( !function_exists(\'wp_new_user_notification\') ) :
/**
* Notify the blog admin of a new user, normally via email.
*
* @since 2.0
*
* @param int $user_id User ID
* @param string $plaintext_pass Optional. The user\'s plaintext password
*/
function wp_new_user_notification($user_id, $plaintext_pass = \'\') {
$user = new WP_User($user_id);
$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
// The blogname option is escaped with esc_html on the way into the database in sanitize_option
// we want to reverse this for the plain text arena of emails.
$blogname = wp_specialchars_decode(get_option(\'blogname\'), ENT_QUOTES);
$message = sprintf(__(\'New user registration on your site %s:\'), $blogname) . "\\r\\n\\r\\n";
$message .= sprintf(__(\'Username: %s\'), $user_login) . "\\r\\n\\r\\n";
$message .= sprintf(__(\'E-mail: %s\'), $user_email) . "\\r\\n";
@wp_mail(get_option(\'admin_email\'), sprintf(__(\'[%s] New User Registration\'), $blogname), $message);
}
endif;
剩下的唯一一步就是如何“激活”用户(向他们发送密码)。根据您的用户批准工作流,您可以创建一个功能,将用户密码重置为随机密码,并通过电子邮件发送给他们。然后,您可以将此功能挂接到用户列表屏幕上的按钮。
这种方法的缺点是很难判断哪些用户处于“非活动状态”(尚未通过电子邮件发送密码)。为此,您可以回复默认的\\u password\\u nag user选项,或者您在注册时设置的自定义用户选项。