Blog do MX Cursos

WordPress – Redirecionando usuários para uma página específica

Avaliar post

No WordPress existem níveis ou privilégios de usuários, como Administrador, Editor, Autor, etc. Isso é muito útil para definir responsabilidades e permissões distintas ao usuário.

Ao utilizamos os níveis de acesso do WordPress, muitas vezes queremos criar algo personalizado para cada nível e redirecionar para essas páginas específicas quando for logar no WordPress.

Podemos realizar essa tarefa de uma forma bem simples.

Suponhamos que você tenha criado uma página para os tipos de usuários inscritos e autores.

No arquivo functions.php do tema vamos adicionar o nosso código que será uma função. Vamos adicioná-lo no add_filter para substituir o valor padrão dele, que será para onde será redirecionado quando o usuário realizar o login.

Update – 02/10/2017

Para realizar a verificação, utilizaremos a função current_user_can do WordPress, com o qual testaremos se ele pertence a algum nível de acesso ou não.

Explicação do código acima.

  1. Definimos uma função com nome de custom_redirect_level_user;
  2. Com if, utilizamos a função current_user_can e passamos o nível de usuário, que no caso é do assinante (subscriber);
  3. Se for verdade (o usuário é do nível assinante), ele retorna a url para uma página criada no exemplo a página inscrito;
  4. Fecha o primeiro if;
  5. Abre um novo if para realizar o mesmo teste apenas passando um outro nível, no caso do autor (author);
  6. Retorna a url para página autor do nosso exemplo;
  7. Fecha o segundo if;
  8. Fecha a função custom_redirect_level_user;
  9. Adiciona função que criamos no filtro login_redirect;
  1. Define a função custom_redirect_level_user, que recebe 3 parâmetros: o primeiro do redirecionamento, segundo o redirecionamento passado por parâmetro, e terceiro o objeto WP_User ou WP_Error
  2. Verifica se existe as permissões desse usuário, porque pode retornar o WP_Error;
  3. Verifica se tem permissão subscriber;
  4. Se tiver, define a variável $redirect_to para redirecionar para uma área especifica;
  5. Fecha o if da condição da permissão subscriber;
  6. Verifica se tem permissão de author;
  7. Se tiver, define a variável $redirect_to para redirecionar para uma área especifica;
  8. Fecha o if da condição da permissão author;
  9. Fechar o if para verificar se existem permissões;
  10. Retorna a variável $redirect_to;
  11. Fecha if da função custom_redirect_level_user;
  12. Adicione ao add_filter, o gancho login_redirect, a função que criamos, o nível de prioridade de execução, e quantidade de parâmetros que a função que criarmos irá receber.

Dessa forma, quando o usuário logar em nossa página, será redirecionado para a página que informamos de acordo com o nível do usuário.

Gostou do artigo? Deixe seu comentário e compartilhe.

Um abraço.

David CHC

David CHC

Trabalha com desenvolvimento web há 10 anos, atuou como programador líder do MX Cursos por mais de 8 anos e hoje dedica-se exclusivamente à criação de cursos para a plataforma. Possui vasto conhecimento em PHP, Javascript, HTML5, CSS3, Gulp.js, GIT, MySQL

Your Header Sidebar area is currently empty. Hurry up and add some widgets.

Newsletter

Newsletter

Receba em seu e-mail conteúdos semanais sobre desenvolvimento, design, audiovisual e tecnlogia.

Inscrição realizada com sucesso!