Usuário logado do front end é desconectado automaticamente acessando o wp-admin

4

Eu tenho preso em um problema sério. Eu quero criar um documento e fazer o upload de um documento do Word a partir do front-end após o login do usuário. O usuário conectado é admin. O plugin bp-doc usa o uploader de mídia padrão do WordPress para carregar o arquivo.

O plug-in atinge .../wp-admin/async-upload.php , mas isso gera um erro An error occurred in the upload. Please try again later , depois da depuração no console eu encontrei 302 Moved Temporarily error e em resposta há o formulário de login do WordPress.

Depois de fazer uma pesquisa, encontrei outro erro, quando eu entrei no frontend como um administrador e voltei para wp-admin , ele me desconectou e pediu novamente para inserir o nome de usuário e a senha.

Não consigo passar pelos erros, qualquer um pode me ajudar com o que pode dar errado?

Eu uso o seguinte código para fazer o login

$user_data = array();
$user_data['user_login'] = $username;
$user_data['user_password'] = $password;
$user_data['remember'] = $remember; 

$user = wp_signon( $user_data, false );

if ( is_wp_error($user) ) {

$err = "<strong>ERROR!</strong> Invalid username or password";

} 
else {

  wp_set_current_user( $user->ID);

  do_action('set_current_user');
  global $current_user;
  get_currentuserinfo();
  $redirect_to = home_url().'/members/'.$current_user->user_login.'/profile'; 
  wp_redirect($redirect_to);
  exit;
}

URL do site em direto: enlace

    
por PlanetHackers 01.04.2016 / 12:35

2 respostas

1

você tentou definir o segundo argumento de wp_signon() para true ou em branco? set false impedirá que wp_signon() configure o cookie seguro, que é essencial para acessar wp-admin se você estiver usando o ssl. Eu testei e $user = wp_signon( $user_data, true ); funciona como esperado.

    
por Kudratullah 10.01.2017 / 21:15
0

Talvez a sua mudança de https para http após o login, você pode tentar este plugin enlace para redirecionar todo o seu site para https, usei uma vez e também alterei o URL do site de http: // ... para https: // .... nas configurações do wodpress.

Vejo que você pode simplificar seu código nestas linhas:

else {
  $redirect_to = home_url().'/members/'.$user->user_login.'/profile'; 
  wp_redirect($redirect_to);
  exit;
}

Beacuse a função wp_signon cria todas as sessões e preenche as funções atuais do usuário.

    
por Agustin Prosperi 07.04.2016 / 16:32