$USER_ID=wp_INSERT_USER($USERDATA)不工作没有错误

时间:2017-09-19 作者:jtermaat

下面插入的新用户无效。我不知道为什么不。没有发送到调试的错误消息。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\' ) 
);

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

我不知道在哪里$return 正在设置。尝试更改

if( is_wp_error( $user_id  ) ) {
    echo $return->get_error_message();
}

if ( is_wp_error( $user_id  ) ) {
    echo $user_id->get_error_message();
}
。。。希望它能显示生成的任何错误消息。

结束

相关推荐