我正在尝试为我的自定义登录页面进行自定义登录操作。使用自定义用户元的注册页面工作正常,但登录页面的问题是,所有内容都应该工作,但它不工作,只有上帝知道为什么。
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 有史以来最简单的问题。
向你问好,克里斯托弗
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
);