从自定义注册表自动登录

时间:2015-11-13 作者:Bushra Shahid

我正在尝试从自定义用户注册表登录用户。我的自定义用户注册代码为

function register_user($data) {
        $userdata = array(
            \'user_login\' => $data[\'email\'],
            \'user_email\' => $data[\'email\'],
            \'user_pass\' => $data[\'pssword\'],
            \'user_nicename\' => $data[\'fname\'],
            \'display_name\' => $data[\'fname\'],
        );
        $usermetedata = array(
            \'son_name\' => $data[\'son_name\'],
            \'shape\' => $data[\'shape\'],
            \'siret\' => $data[\'siret\'],
            \'company_email\' => $data[\'company_email\'],
            \'company_activity\' => $data[\'activity\'],
            \'staff\' => $data[\'staff\'],
            \'position_held\' => $data[\'position_held\'],
            \'company_phone\' => $data[\'company_phone\'],
            \'company_mobile\' => $data[\'company_mobile\'],
            \'company_address\' => $data[\'company_address\'],
            \'company_postal\' => $data[\'company_postal\'],
            \'company_ville\' => $data[\'company_ville\'],
            \'url\' => $data[\'url\'],
            \'personal_region\' => $data[\'personal_region\'],
            \'personal_address\' => $data[\'personal_address\'],
            \'personal_ville\' => $data[\'personal_ville\'],
            \'personal_postal\' => $data[\'personal_postal\'],
            \'personal_phone\' => $data[\'personal_phone\'],
            \'personal_mobile\' => $data[\'personal_mobile\'],
            \'dob\' => $data[\'dob\'],
            \'invite_email\' => $data[\'invite_email\']
        );
        $userid = wp_insert_user($userdata);
        foreach ($usermetedata as $key => $val):
            add_user_meta($userid, $key, $val);
        endforeach;
        gdlr_new_user_registered($userid);
       // echo \'Registration complete. Goto <a href="\' . get_site_url() . \'/wp-admin">login page</a>.\';
        if ($userid) {
            user_activation($userid, $data);

        }

    }
我当前注册用户的登录代码是

function gdlr_new_user_registered( $user_id ) {
    $user = get_user_by( \'id\', $user_id ); 
    wp_set_auth_cookie( $user_id, false, is_ssl() );
    $redirect_to = site_url().\'le-reseau-social/teepy-tableau-de-bord/\';

    do_action( \'wp_login\', $user->user_login );
    return $redirect_to;

}
 add_filter(\'login_redirect\', \'gdlr_new_user_registered\', 10, 3); 
但我无法登录,请建议我或让我知道如果我做了一些错误。

谢谢

3 个回复
SO网友:HackerPintu

对于登录功能,WordPress提供一个函数wp\\u login\\u form(),它将为您生成html。只需更改CSS即可。

有关更多信息,请参阅中的WordPress Codex

在wordpress中注册用户没有简单的方法。遵循以下步骤。

登录WordPress管理员->进入设置->常规设置->检查任何人都可以注册的成员资格->选择新用户默认角色->保存显示前端表单-创建页面模板并显示其表单我将这个答案保持简短,并共享几个url,这些url将帮助您进行编码。

How to display WordPress User Registration Form in front end of the website?

SO网友:Rohit Kaushik

你能试着改变你的职能吗

   if ( $user && ! user_can( $user->ID, \'manage_options\' ) ) {
    wp_set_current_user( $user->ID, $user_login );
    wp_set_auth_cookie( $user->ID );
    do_action( \'wp_login\', $user_login );
    wp_redirect( home_url() );
    exit()

SO网友:Rajilesh Panoli

我想你必须在注册自动登录后使用这个。

 if ($userid) {
$creds = array(
        \'user_login\'    => $data[\'email\'],
        \'user_password\' => $data[\'pssword\'],
        \'remember\'      => true
    );

    $user = wp_signon( $creds, false );
}

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register