Я делаю регистрационную форму с помощью специального кода Wordpress, я застрял, чтобы позволить пользователям войти в систему с помощью любого из адресов электронной почты или имени пользователя. Тем не менее они могут использовать только имя пользователя и проверки процесса я делаю с помощью WordPress функцииwordpress log in page либо используя либо имя пользователя, либо адрес электронной почты
$user_verify = wp_signon($login_data, false);
Пожалуйста, дайте мне знать, как я могу заставить пользователей войти в систему с любым именем пользователя электронной почты. спасибо.
Я использую этот код для имени входа, используя только имя пользователя. Как я могу изменить его как для электронной почты и имя пользователя нужно войти в систему.
$username = $wpdb->escape($_REQUEST['username']);
$password = $wpdb->escape($_REQUEST['password']);
if ($username && $password) {
$login_data = array();
$login_data['user_login'] = $username;
$login_data['user_password'] = $password;
$user_verify = wp_signon($login_data, false);
$user_check = $user_verify->user_id;
if(!empty($user_verify->id))
{
do_action('wp_login', $user_verify->user_login, $user_verify);
wp_set_current_user($user_verify->ID);
wp_set_auth_cookie($user_verify->ID);
$r2 = get_current_user_id();
$registerd = get_user_meta($r2, 'package', true);
global $current_user;
$user_id=$current_user->data->ID;
$paid_tag_list=get_user_meta($user_id,'tags','');
$used_tag_list=get_user_meta($user_id,'tags','');
$company_name=get_user_meta($user_id,'company_name','');
$used_tag=explode(',',$used_tag_list[0]);
$used_tags=explode(',',$used_tag_list[0]);
if($paid_tag_list[0])
$paid_tag=explode(',',$paid_tag_list[0]);
else
$paid_tag=array();;
$paid_list=array_unique(array_filter(array_merge($paid_tag,$used_tags)));
foreach ($paid_list as $c){
$paid_l[]=str_replace(' ','',$c);
}
$directs=$wide->Getdirect();
foreach($directs as $key=>$value)
{
if($value==$info_post['desired_direction'][0])
{
$direct[]=$value ;
}
else
{
$direct[]=$value;
}
}
$states=array('USA'=>array(
'ALABAMA',
'Aguascalientes',
'Morelos',
'Tlaxcala',
)
);
$array = array("status" => "success", "message" => "user login","cars"=>$paid_l,"company"=>$company_name,"states"=>$states,"direction"=>$direct);
echo json_encode($array);
} else {
$array = array("status" => "fail", "message" => "Enter Correct Log-in info");
echo json_encode($array);
}
}else {
$array = array("status" => "fail", "message" => "something missing");
echo json_encode($array);
}
'если ($ user = get_user_by_email ($ username) 'this line missing a") «Все это по сети одинаково. ... Это должно выглядеть следующим образом: 'if ($ user = get_user_by_email ($ username))' –
спасибо :) Shahid Rafiq –