Suporte » Plugins » Redirecionamento após o login

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • Moderador Leo Baiano

    (@leobaiano)

    Para fazer isso você vai precisar de um pouco de conhecimento de programação, da linguagem PHP e sobre o uso de filtros e ganchos no WordPress, ok?

    Você vai utilizar o filtro login_redirect, este filtro serve justamente para definir para onde o usuário deve ser redirecionado depois que fizer login. Ao adicionar o filtro você informa uma função de callback, nela você receberá alguns parametros, entre eles o objeto $user que trás os dados do usuário logado, então pode verificar se ele é assinante ou não para redireciona-lo para o local correto.

    Veja a documentação deste filtro, tem um exemplo bacana por lá: https://codex.wordpress.org/Plugin_API/Filter_Reference/login_redirect

    Criador do tópico f5atualizese

    (@f5atualizese)

    Vou ter que aprender um pouco sobre isso rsrsrsr… não faço a mínima ideia de como fazer.

    Moderador Leo Baiano

    (@leobaiano)

    Da uma olhada no link que te passei e se ficar com dúvida volta aqui.

    Criador do tópico f5atualizese

    (@f5atualizese)

    Olá, na verdade fiquei com muitas dúvidas rsrsr…

    Montei algo, funcionou no ambiente de testes, mas não funcionou na produção. Talvez algum plugin esteja impedindo o funcionamento.

    Ou até mesmo fiz alguma coisa errada.

    ex: no arquivo functions.php do meu tema, fiz a seguinte sequência:

    if(isPremium()){
        $permission->set_redirect_url(home_url('/home'));
    }else{
     $permission->set_redirect_url(home_url('/assinatura'));
    }

    Esse é o problema de pegar um projeto que outra pessoa deu início, é uma briga. rsrs

    Moderador Leo Baiano

    (@leobaiano)

    Man, você não usou funções nativa nesse trecho de código que postou, são funções que desconheço e por isso não posso ajudar.

    Olhando pro código imagino que a is_Premium(); retirna true se o usuário logado for premium e que existe um objeto $permission que possui um método que set_redirect_url() que redireciona para a URL informada no primeiro parâmetro.

    Essa lógica está correta, se não está funcionando você precisa debugar.

    Primeiro verifique qual está sendo o retorno do isPremium();, se estiver funcionando corretamente teste se o método set_redirect_url() está sendo chamado e caso sim verifique como ele faz o redirecionamento e por ai vai.

    Criador do tópico f5atualizese

    (@f5atualizese)

    Então, na pratica esta funcionando. Mas algum plugin esta corrompendo o funcionamento dele. Temos dois plugins extremamente essenciais para o funcionamento do site mas creio que estes plugins estejam impedindo o funcionamento, um cria sub-domínios e outro faz o controle de acesso aos conteúdos restritos.

    No ambiente de produção apenas um esta ativo. Portanto o procedimento de redirecionamento funciona perfeitamente. É algo que esta quebrando minha cabeça, mas vou ter que resolver. O jeito é seguir com o projeto e voltar nessa parte depois.

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘Redirecionamento após o login’ está fechado para novas respostas.