下面插入的新用户无效。我不知道为什么不。没有发送到调试的错误消息。txt或至屏幕。我还检查了一些关于这个插件的线程。但我的代码似乎应该是正确的。但不起作用。
我在这个代码中做错了什么?
所有输入字段填写正确。
if($loggedin == \'no\'){
$userdata = array(
\'user_login\' => $user_email,
\'user_pass\' => $pass,
\'user_email\' => $user_email,
\'display_name\' => $first_name . \' \' . $last_name,
\'nickname\' => $first_name . \' \' . $last_name,
\'first_name\' => $first_name,
\'last_name\' => $last_name,
\'user_registered\' => date(\'Y-m-d h:i:s\'),
);
$user_id = wp_insert_user( $userdata ) ;
if( is_wp_error( $user_id ) ) {
echo $return->get_error_message();
}
if($user_id && $user_id != 0){
update_user_meta( $user_id, \'gender\', $_POST[\'gender\']);
update_user_meta( $user_id, \'city\', $_POST[\'city\']);
update_user_meta( $user_id, \'age\', $_POST[\'age\']);
update_user_meta( $user_id, \'bank_account\', 0);
update_user_meta( $user_id, \'user_status\', 0);
if(!is_admin() ) {
wp_update_user( array (\'ID\' => $user_id, \'role\' => \'participant\' ) ) ;
$user = new WP_User( $user_id );
$user->set_role(\'participants\');
}
$info = array();
$info[\'user_login\'] = $user_email;
$info[\'user_password\'] = $pass;
$info[\'remember\'] = true;
$user_signon = wp_signon( $info, false );
}
echo \'registered\';
}
我也尝试更新,而不是插入。所以禁用了整个插入块,并用下面的内容更新该部分。再次没有添加新用户!
$user_id = wp_create_user( $user_email, $pass, $user_email );
$wpdb->update(
$wpdb->prefix.\'users\',
array(
\'ID\' => $user_id,
\'display_name\' => $first_name . \' \' . $last_name,
\'nickname\' => $first_name . \' \' . $last_name,
\'first_name\' => $first_name,
\'last_name\' => $last_name,
\'user_registered\' => date(\'Y-m-d h:i:s\'),
),
array( \'ID\' => $user_id ),
array( \'%d\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\' ),
array( \'%d\' )
);