Como redirecionar usuários no WordPress

Publicados: 2018-08-08

Redirecionamentos são uma parte padrão de sites, plug-ins e temas. Alguns estão acontecendo bem na frente de seus olhos, e você pode nem estar ciente do que está acontecendo nas costas.

Embora os redirecionamentos geralmente sejam deixados para os desenvolvedores, mostraremos várias dicas que permitirão que você faça essa tarefa por conta própria.

Como redirecionar funções de usuário específicas após login bem-sucedido

Nesta parte do artigo, mostraremos a você um código que você pode facilmente modificar e controlar onde um determinado usuário chega após fazer o login com sucesso em seu site com WordPress.

Por padrão, o WordPress levará todos os usuários ao painel e isso pode ser um problema para alguns de vocês. Talvez você queira manter seus administradores e autores no backend, enquanto deseja levar seus outros usuários diretamente para sua página inicial ou talvez para outra página de frontend que você criou especificamente para eles.

Para redirecionar usuários com base em suas funções, siga as próximas etapas:

  1. Abra o arquivo functions.php
  2. Copie e cole o seguinte código:
 function my_login_redirect ($ url, $ request, 
$ user) {if ($ user && is_object ($ user) && 
is_a ($ user, 'WP_User')) {
if ($ user-> has_cap ('administrador') ou 
$ user-> has_cap ('autor')) {
$ url = admin_url ();
} outro {
$ url = home_url ('/ página personalizada /');
}
}
return $ url;
}
add_filter ('login_redirect', 
'my_login_redirect', 10, 3);
  1. Salvar alterações

O código mostrado acima deixará os administradores exatamente onde eles precisam estar - o painel de administração, enquanto todos os outros usuários serão direcionados para uma página personalizada.

Você pode facilmente mudar URLs alterando a variável $ url na e linha e, portanto, levar seus usuários para quaisquer posts / páginas que você criou para eles.

Se você deseja controlar as funções do usuário, pode fazer isso facilmente na terceira linha do código. No exemplo fornecido acima, deixamos administradores e autores no painel de administração. Se você quiser apenas administradores lá, simplesmente remova os autores da imagem:

 if ($ user-> has_cap ('administrador')) {

Em vez de remover autores, você também pode adicionar outras funções; cabe a você decidir quem vai parar em qual página.

É isso. Com este código, você não precisa de nenhum plug-in para controlar os redirecionamentos após o login do usuário. Se ainda não quiser alterar o código, veja como redirecionar os usuários após o login com um plug-in.

Redirecione os usuários após o login com o plugin de redirecionamento de login do Peter

Embora você possa redirecionar rapidamente os usuários após o login, inserindo algum código que mostramos anteriormente, esta não é a melhor opção para aqueles que não gostam de codificação. Além disso, se quiser obter mais controle sobre os redirecionamentos, você precisará saber como modificar o código.

Em vez de modificar o código, mostraremos um plugin que fará o trabalho sujo para você . Tudo o que você precisa fazer é decidir qual usuário vai para onde, clicar em algumas caixas de seleção e colar os URLs enquanto o plug-in fará o resto.

Redirecionamento de Login de Pedro

Embora existam inúmeros plug-ins do WordPress projetados para fazer o mesmo, escolhemos o redirecionamento de login de Peter para esta parte do artigo.

Este plug-in permitirá que você escolha usuários com base em seus nomes, funções de usuário e até mesmo recursos de usuário e simplesmente cole a URL para a qual os usuários serão redirecionados após o login. É possível até escolher outra página se você deseja redirecionar esse usuário ou grupo de usuários após o logout. Além disso, você pode escolher um URL separado que será usado como página de destino para qualquer usuário após o registro.

Se isso não for o suficiente para você e quiser melhorar ainda mais seus redirecionamentos, o redirecionamento de login de Peter ajudou você. Se você, por exemplo, criou uma página específica para cada usuário, pode gerar a URL diretamente do plugin. Nesse caso, um simples código de acesso descrito no plugin será suficiente para inserir o nome de usuário do usuário e, assim, conduzir esse usuário em particular à sua página específica.

No final, existem algumas opções de plug-in a serem encontradas que podem ajudá-lo a controlar ainda mais o comportamento do plug-in. Você pode definir o plug-in para usar apenas um tipo de URL e, por exemplo, permitir que apenas links internos sejam usados, controlar redirecionamentos POST e GET, usar um arquivo de redirecionamento externo se necessário e escolher quem pode controlar este plug-in, escolhendo os níveis de permissão .

Se você precisava gerenciar o login, o logout e os redirecionamentos de registro, o Peter's Login Redirect oferece praticamente tudo o que você precisa. Ah, sim, já mencionamos que o plugin é gratuito? Você pode obtê-lo no repositório de plug-ins do WordPress e instalá-lo em segundos, após o que tudo o que você precisa fazer é navegar para Configurações -> Redirecionamentos de Login / Logout .

Como redirecionar um usuário do WordPress após o logout

Por padrão, quando um usuário sai de um site do WordPress, ele ou ela é levado de volta à página de login. Será exibida uma mensagem que notifica o usuário sobre o logout bem-sucedido e o resto da navegação é deixado para os usuários.

Mas e se você quiser que seus usuários sejam redirecionados automaticamente para a sua página inicial, para as páginas de discussão que deseja que eles vejam ou para qualquer outra página de seu interesse? Talvez você queira criar uma página de logout diferente que contenha widgets especiais ou leve seus usuários a outro lugar? Nesse caso, você precisará deste pequeno código para fazer tudo acontecer.

Nas próximas linhas, mostraremos como redirecionar facilmente um usuário para qualquer URL que desejar. Se você não quiser usar o código para redirecionamentos, estamos prestes a mostrar um plugin simples que fará tudo isso por você. Mas antes disso, vamos redirecionar um usuário para a página inicial:

  1. Abra o arquivo functions.php
  2. Copie e cole o seguinte código:
 add_action ('wp_logout', 'auto_redirect_after_logout');
function auto_redirect_after_logout () {
wp_redirect (home_url ());
saída();
}
  1. Salvar alterações
  2. Saia e aproveite sua linda página inicial

É simples assim. Como você pode adivinhar pelo código, você pode redirecionar um usuário para qualquer outro URL alterando a terceira linha . Portanto, se você deseja levar seus usuários a outra página de seu próprio site ou a qualquer página externa, seu código deve ser semelhante a este:

 add_action ('wp_logout', 'auto_redirect_after_logout');
function auto_redirect_after_logout () {
wp_redirect ('http://www.firstsiteguide.com');
saída();
}

Se você quiser fazer mais com a função wp_redirect, pode aprender mais sobre ela nas páginas do Codex do WordPress.

Redirecionamento de Login e Logout

PREÇO: grátis

Redirecionamentos de login e logout


Este plugin gratuito é relativamente simples e fará seu trabalho perfeitamente. Em vez de lidar com o código, o redirecionamento de login e logout criará um segmento adicional na página de configurações. Depois de instalá-lo e ativá-lo, você deve navegar até Configurações -> Geral e rolar até o final da página . Aqui você encontrará caixas de entrada separadas para redirecionamentos de Login e Logout. Insira os URLs desejados, salve as alterações e pronto!

Se você precisar de mais opções de redirecionamento para o seu site WordPress, sugerimos que você verifique o plugin 5sec Redirect, que pode ajudá-lo a redirecionar qualquer postagem, página, categoria, tag ou URL personalizado. Isso permitirá que você oculte seus URLs, o que pode ser ótimo para ocultar links de afiliados ou quaisquer URLs de seus visitantes. O plugin também mostra estatísticas sobre cada link redirecionado para que você saiba o que está acontecendo no site.

Redirecionar usuários após deixar um comentário

Quando você começar a publicar artigos, vai querer que as pessoas comentem sobre eles, é claro. Nesta parte do guia, vamos mostrar como redirecionar um usuário após enviar um comentário.

Esta função pode ser útil para você em situações específicas. Por exemplo, você pode querer criar uma página personalizada de “agradecimento” para um sorteio que está organizando . Assim, quando os visitantes participam de um sorteio deixando um comentário, você pode facilmente redirecioná-los para a página de “obrigado”, onde você pode fornecer informações adicionais sobre os prêmios.

Na verdade, existem vários motivos diferentes que você pode ter para redirecionar um usuário após deixar um comentário, portanto, sem mais delongas, aqui está o que você precisa fazer para automatizar o processo.

Redirecione o usuário após enviar um comentário:

  1. Abra o arquivo functions.php
  2. Copie e cole este código no arquivo:
 function redirect_after_comment () {
wp_redirect ('/ obrigado /');
saída();
}
add_filter ('comment_post_redirect', 
'redirect_after_comment');
  1. Altere o nome da página na linha
  2. Salvar alterações

É isso. Agora você pode prosseguir e testar a função. Abra qualquer uma das suas postagens e deixe um comentário. Se você fez tudo corretamente, você deve ir para a página http: /www.yoursite.com/thank-you ou aquela especificada na segunda linha do seu código.

Obrigado pagina

Não se esqueça de agradecer os comentários das pessoas, mas também não se esqueça de que deseja que seus visitantes permaneçam no site e continuem navegando. Uma boa ideia pode ser adicionar uma lista de suas postagens recentes ou mais populares, ou talvez ainda melhor listar todas as postagens relacionadas que podem ser do interesse de um comentador. Se você tiver uma lista de e-mails, este é um bom lugar para oferecer uma assinatura.

Embora essa função ofereça uma maneira fácil e rápida de redirecionar os usuários depois que eles deixam um comentário, você pode estar interessado em um plugin que lhe dará alguns recursos adicionais.

Redirecione os usuários após a pesquisa se houver apenas um resultado encontrado

A funcionalidade de pesquisa é essencial se você estiver lidando com um grande número de artigos. Se você escreve diariamente, imagine o número de artigos espalhados por diferentes categorias. Se você publicar apenas três artigos curtos por dia, haverá mais de mil títulos diferentes em seu banco de dados após o primeiro ano. Agora imagine-se acessando o site pela primeira vez enquanto procura por algo específico - você vai querer pesquisar por isso.

Por padrão, o WordPress irá pesquisar títulos de postagens, tags e, claro, o conteúdo. Portanto, ao pesquisar uma palavra ou frase específica, provavelmente serão encontrados dezenas de posts e páginas que contêm a consulta. Mas e se houvesse apenas um resultado da pesquisa?

Se alguém estiver procurando por uma frase muito específica ou uma frase inteira, é provável que haja apenas alguns resultados ou talvez apenas um. Se houver apenas um resultado encontrado, redirecionar um usuário para a página de resultados da pesquisa é totalmente desnecessário . Em vez disso, por que você não levaria esse usuário diretamente para a postagem / página encontrada no resultado?

Vamos ver como fazer isso:

  1. Abra functions.php
  2. Copie este código e cole-o no final do arquivo:
 add_action ('template_redirect', 
'redirect_search_result);
function redirect_search_result () {
if (is_search ()) {
global $ wp_query;
if ($ wp_query-> post_count == 1 && 
$ wp_query-> max_num_pages == 1) {
wp_redirect (get_permalink ( 
$ wp_query-> posts ['0'] -> ID));
saída;
}
}
}
  1. Salvar alterações

Você preparou seu WordPress para a nova funcionalidade. Depois de salvar as alterações, toda vez que um usuário pesquisar algo que retornará apenas um resultado, esse usuário será redirecionado diretamente para a postagem / página.

Mesmo que não pareça muito, temos certeza de que seus visitantes gostarão de você por salvá-los com apenas um clique. Salvar um clique aqui e outro ali resultará em uma melhor experiência do usuário e isso provavelmente é algo que você deseja em seu site, não é?

Redirecionar usuários quando houver apenas uma postagem em uma categoria encontrada

Em vez de abrir uma página de categoria ou tag que contém apenas um resultado, você pode redirecionar esse usuário diretamente para a postagem / página. Como acontece com a maioria dos nossos snippets de código, será suficiente apenas copiar e colar o código:

Redirecione um usuário se houver apenas uma postagem em uma categoria ou tag:

  1. Abra o arquivo functions.php
  2. Copie e cole o seguinte código:
 function redirect_to_post () {
global $ wp_query;
if (is_archive () && $ wp_query-> post_count == 1) {
the_post ();
$ post_url = get_permalink ();
wp_redirect ($ post_url);
}
} add_action ('template_redirect', 'redirect_to_post');
  1. Salvar alterações

Depois de concluir o código e salvar as alterações, você pode testar o recurso abrindo uma página de categoria ou tag que contém apenas um post / página. Em vez de abrir uma página onde apenas aquela postagem / página é exibida, você será redirecionado diretamente para a postagem . Incrível, não é?

Como alguns usuários podem ficar confusos com isso, seria uma boa ideia incluir uma mensagem personalizada que dirá aos usuários que apenas um resultado foi encontrado e que o redirecionamento ocorreu. Se quiser fazer isso, você pode deixar a mensagem no topo da postagem / página para a qual um usuário foi redirecionado, inserindo uma simples declaração “echo”. Nesse caso, seu código ficaria assim:

 function redirect_to_post () {
global $ wp_query;
if (is_archive () && $ wp_query-> post_count == 1) {
the_post ();
$ post_url = get_permalink ();
wp_redirect ($ post_url);
}
echo "Como houve apenas um resultado encontrado, 
você foi redirecionado para este post / página! ";
}
add_action ('template_redirect', 'redirect_to_post');

Agora que até mesmo uma mensagem foi implementada, você terminou e não terá que cuidar dessas categorias e tags que contêm apenas um post / página. Mas não deixe que esse recurso seja uma desculpa para não escrever novos artigos na categoria.

Redirecionar usuários para uma página aleatória no WordPress

Isso pode não ser um recurso padrão de todos os sites WordPress, mas com certeza pode ser uma ferramenta divertida de se ter em algum lugar do seu site. Se você escreve muito ou tem várias galerias, pode acabar tendo milhares de páginas que um usuário comum não conseguirá ver . Então, por que você não tornaria as coisas um pouco mais interessantes redirecionando um usuário para uma postagem aleatória?

OK, você não redirecionará um usuário para uma postagem aleatória sem o conhecimento dele ou fará isso na página inicial, é claro. Mas você pode criar um botão ou link simples no qual um usuário pode clicar e, em seguida, ele será levado para outra página do seu site. Talvez seja uma galeria. Talvez um editorial legal que você escreveu anos atrás. Quem sabe. Pode ser divertido.

Vamos começar:

  1. Primeiro você precisa preparar seu link de redirecionamento. Abra seu arquivo functions.php
  2. Copie e cole o seguinte código:
 add_action ('init', 'random_add_rewrite');
function random_add_rewrite () {
global $ wp;
$ wp-> add_query_var ('random');
add_rewrite_rule ('random /?
  1. Salvar alterações
  2. Vá para www.yourdomain.com/?random=1

, 'index.php? random = 1', 'top'); } add_action ('template_redirect', 'random_template'); function random_template () {if (get_query_var ('random') == 1) {$ posts = get_posts ('post_type = post & orderby = rand & numberposts = 1'); foreach ($ posts as $ post) {$ link = get_permalink ($ post); } wp_redirect ($ link, 307); saída; }}

Depois disso, você está pronto para criar seu link / botão. Tudo que você precisa fazer é criar um link para http://www.yourdomain.com/?random=1 e toda vez que um usuário abrir a página, ele será redirecionado para uma página aleatória. Aproveite seu novo recurso.

Redirecionando você para a conclusão

Mais cedo ou mais tarde, você desejará redirecionar usuários específicos em situações específicas. Quer haja um bom motivo para isso e você esteja tentando fazer seus visitantes comprarem algo ou apenas queira tornar o processo de login mais confortável, este tutorial o ajudará a gerenciar redirecionamentos.

Se você se sentir confortável o suficiente com a codificação, poderá melhorar isso e redirecionar usuários em diferentes situações. Caso contrário, esperamos que esses exemplos tenham sido suficientes para atender às suas necessidades.