注册时用户定义的密码-注册电子邮件发送自动生成的密码

时间:2013-05-02 作者:Justin W Hall

更新注册时的一些元字段,并向用户提供选择密码的选项,但注册电子邮件会发送自动生成的密码。用户定义的密码有效,不通过电子邮件发送。

add_action( \'user_register\', \'jwh_register_extra_fields\', 100 );
function jwh_register_extra_fields( $user_id, $password = \'\', $meta = array() )  {
$userdata = array();

$userdata[\'ID\'] = $user_id;
if ( $_POST[\'password\'] !== \'\' ) {
    $userdata[\'user_pass\'] = $_POST[\'password\'];
}

$userdata[\'first_name\'] = $_POST[\'first_name\'];
$userdata[\'last_name\'] = $_POST[\'last_name\'];
$userdata[\'user_url\'] = $_POST[\'user_url\'];

$new_user_id = wp_update_user( $userdata );
}

1 个回复
最合适的回答,由SO网友:Andrew Bartel 整理而成

欢迎使用WPSE。您可以使用wp_insert_user, 你不需要抓住任何东西。

假设他们在这里填写一个包含姓名、用户名、电子邮件和密码字段的表单,然后您可以根据需要捕获它。

$name_array = explode(\' \',$_POST[\'name\']);
$user = array(
    \'user_login\' => $_POST[\'username\'],
    \'user_pass\' => $_POST[\'password\'],
    \'user_email\' => $_POST[\'email\'],
    \'first_name\' => $name_array[0],
    \'last_name\' => $name_array[1],
            );
$user_id = wp_insert_user( $user );

wp_new_user_notification( $user_id, $_POST[\'password\'] );

结束

相关推荐

How to check user's password?

我试图检查我在WP multisite上创建的用户的密码,但我在sw_users / user_pass 对在用户注册过程中收到的密码进行MD5哈希运算时,得到的密码不匹配。下面是表格中的一个示例sw_users:(11,\'user5\',\'P$BiwskWiaqZIQLzDUTAhSyvACr0Jpnl\',\'user5\',\'[email protected]“,”,“2012-03-28 11:44:08”,“”,0,“用户5”,0,0),所以我假设$P$BiwskWiaqZIQLzDUTAh