Estou desenvolvendo um plug-in gratuito para conectar um sistema de suporte externo ao WordPress para poder autenticar usuários no WordPress.
Para isso, atualmente no sistema externo, o usuário é enviado para a página de login do WordPress com isso no final
?action=freshdesk-remote-login
Meu plug-in verifica se o usuário está conectado ao WP, se não mostra o formulário de login e, após o login bem-sucedido, redireciona-o novamente para o site de terceiros.
O redirecionamento é feito usando algo como isto: wp_redirect( $sso_url );
Agora isso funciona bem, mas pretendo oferecer um código curto que possa ser adicionado a uma página que o usuário escolher. Agora que um usuário acessar esta página, se estiver conectado, deverá ser encaminhado para o site de terceiros, caso contrário, para a página de login.
Existe uma maneira de sugerir que o wp_redirect funcione dentro de um código de acesso?
wp_redirect( $sso_url );
e apenas funcionou.wp_redirect
não funciona em um código curto em condições normais. Eu acabei de verificar. Se estiver funcionando para você, seu tema ou um plug-in está fazendo algo parecido com o que sugeri para fazê-lo funcionar.wp_redirect()
executa redirecionamento via cabeçalhos HTTP, de forma que tecnicamente não funcione (ou pelo menos não deva) funcionar após o início da saída da página. Então você não pode simplesmente usar esta função no shortcode.O que não significa, porém, que você não pode usar o shortcode para controlá-lo. Você pode verificar as condições de adaptação (se a página e a página contêm código de acesso) antes do início da saída (em algum lugar em torno do
template_redirect
gancho) e executar o redirecionamento.Outra opção seria a saída condicional de JavaScript que executará o redirecionamento após o carregamento da página.
fonte
wp_redirect()
esse código?