使用wp_SignOn()时,密码字段为空;

时间:2018-03-20 作者:Krzysztof Krysztofiak

我正在尝试为我的自定义登录页面进行自定义登录操作。使用自定义用户元的注册页面工作正常,但登录页面的问题是,所有内容都应该工作,但它不工作,只有上帝知道为什么。

add_action(\'formcraft_before_save\', \'login_user_addon\', 10, 4);

function login_user_addon($filtered_content, $form_meta, $raw_content, $integrations)
{
    global $fc_final_response;

    foreach ($raw_content as $key => $value) {
        if ( $value[\'label\'] == \'Adres e-mail klienta\' )
        {
            $user_email_login = $value[\'value\'];
        }
        if ( $value[\'label\'] == \'Hasło klienta\' )
        {
            $user_pass_login = $value[\'value\'];
        }
}


  $user = get_user_by( \'email\', $user_email_login );

  $creds = array(

    \'user_login\' => $user->user_login,
    \'user_pass\'  => $user_pass_login

  );

    $usr = wp_signon( $creds, false );

    if ( !is_wp_error( $usr ) ) { 
            wp_set_current_user ( $usr->ID );
            wp_set_auth_cookie  ( $usr->ID );      
    } else {
        $fc_final_response[\'failed\'] = $user_pass_login;
    }
}
那里的连接从表单字段中查找值,它工作正常,因为它从$user\\u pass\\u login字段返回密码。我做它是为了测试,因为我认为该字段不发送密码。

问题是,当我输入正确的密码和用户名时,会出现错误password field is empty.

这让我抓狂,因为这是我项目的最后一步possibly 有史以来最简单的问题。

向你问好,克里斯托弗

1 个回复
SO网友:Kolawole Emmanuel Izzy

我知道这个问题很久以前就被问过了,但我会放弃我的答案,这可能会帮助那些有同样问题的人。

你得到ERROR: The password field is empty. 是因为密码的crediential数组密钥不正确。在代码中,密钥为user_pass 但它必须是user_password 如上所述here.

这部分代码

$creds = array(

    \'user_login\' => $user->user_login,
    \'user_pass\'  => $user_pass_login

 );
需要:

 $creds = array(

    \'user_login\'     => $user->user_login,
    \'user_password\'  => $user_pass_login

  );

结束

相关推荐

WP_LOGIN_FORM()是否在重定向时将用户ID传递到URL?

我有一个自定义页面,要求用户登录以访问该页面。一旦他们登录,我想将他们重定向到同一个页面,但我想将他们的用户ID添加到重定向中的URL字符串中。这只是为了分析,实际内容受到if (current_user_can(\'\')){} 以下是我在受密码保护的页面中尝试的代码:<?php $userID = get_current_user_id(); $args = array( \'echo\' => true