0

有没有办法使用定义的用户名和密码登录 wordpress 管理仪表板

<?php
$username = 'my_username';
$password = 'my_password';

if ($_POST['username'] == $username && $_POST['password']){

 echo "Valid credentials";

}else{

 echo "Invalid credentials";

}
?>
4

1 回答 1

0

是的,这是可能的,您可以这样做,首先检查凭据是否有效,然后设置用户 cookie 并自动登录:

$username = 'my_username';
$password = 'my_password';

$creds = array();
$creds['user_login'] = $username;
$creds['user_password'] = $password;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
if ( !is_wp_error($user) ){

  $user_id = $user->ID;
  // Log the user in
  wp_set_current_user( $user_id, $user_login );
  wp_set_auth_cookie( $user_id );
  // Perform any required redirections
  wp_redirect( home_url() );
  exit();

}else{

 echo "Invalid credentials";

}

但是,请确保在发送标头以正常工作之前运行它template_redirects,例如,您可以将其挂钩。

于 2020-04-22T12:52:54.960 回答