A primeira coisa a fazer seria ver se o WordPress está entrando na sua função. Se estiver usando o Xdebug, por exemplo, você pode criar um breakpoint logo no começo da função OU, se não estiver, a maneira mais simples é simplesmente colocar um die( 'entrei na função my_login_redirect' );
logo antes do global $user;
.
Por falar em global $user;
, este trecho não deveria estar ali. Essa variável é um argumento da função e não uma global. Na documentação oficial do hook tem um comentário com a versão correta de como tem que ser.
Não se esqueça de voltar para dizer se funcionou ou não e, se for o caso, para marcar seu tópico como “resolvido”.
Oi! Desculpe a demora para o retorno, estava em outras atividades.
Coloquei o die( 'entrei na função my_login_redirect' );
e realmente não está entrando.
Beleza. Se ele não tá entrando na função você vai precisar checar outras coisas:
1. Dá um die antes da função pra ver se ele está entrando no arquivo pelo menos;
2. Tenta alterar a prioridade da chamada da função. Ao invés de
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
tenta
add_filter( 'login_redirect', 'my_login_redirect', 2, 3 );
Quanto menor o número mais cedo a função é executada.
Não esquece de voltar aqui pra dizer o que aconteceu.
coloquei o antes da função e nada…
puts, o que poderia ser? eu tenho esse plugin no meu ambiente de homologação e lá funciona normalmente, mas em produção não funciona :/
Se eu entendi bem, você acabou resolvendo isso aqui, certo?
Oi! Eu postei a resolução aqui tb, exatamente o mesmo comentário, mas aparentemente ele não foi aprovado (?)
Obrigada!
Estranho mesmo, não apareceu… Enfim, que bom que conseguiu resolver. Vou marcar o tópico como “resolvido” então.