Suporte » Ajustando o WordPress » Links de acesso no email de notificação de comentários

  • Olá! Modifiquei, via plugin, a página de acesso ao painel de administração do WordPress (nomedosite/personalizado); contudo, os links de acesso rápido que acompanham os emails de aviso de moderação de comentários, continuam chegando com o caminho padrão (nomedosite/wp-admin)… como posso resolver isto?

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @linaldobnascimento,

    Qual é o plugin que você está usando para modificar a página de acesso ao painel? Ele altera o endereço da página de login somente ou de tudo o que está no painel?

    Criador do tópico linaldobnascimento

    (@linaldobnascimento)

    Olá Felipe, obrigado pelo retrno!

    O plugin é este: https://br.wordpress.org/plugins/wps-hide-login/

    Altera apenas o endereço da página de login… após a entrada os caminhos ficam padrão com “wp-admin”.

    Moderador Felipe Elia

    (@felipeelia)

    Oi @linaldobnascimento,

    Acho que não entendi o seu problema então, desculpa. O link que vai no e-mail já é de uma interna do Painel e não o da página de login, certo?

    O erro é no redirecionamento então? Quando tenta acessar o painel e não está logado você acaba indo para o link do login “normal”? Sem estar logado, quando você tenta acessar nomedosite/wp-admin/plugins.php você também vai para o login “normal”?

    Criador do tópico linaldobnascimento

    (@linaldobnascimento)

    Olá Felipe, vamos lá, vou tentar explicar detalhado:

    Se não utilizar o plugin WPS Hide Login para modificar o caminho padrão de login do Painel Admin, tudo certo, clico no link que vai no email de aviso de comentário para moderar (estando conectado ou não) e beleza!

    Problema é que o plugin muda, no caminho do link da página de login da administração, o wp-admin por um outro qualquer que personalizo… se eu estiver conectado na administração do site tudo bem; porém se eu estiver desconectado (que é o ideal, pois vou delegar esta função); como o link que vai no email é com o caminho padrão utilizando o wp-admin, dá página não encontrada 404 pois primeiro preciso logar na conta para acessar as páginas de moderação.

    Detalhe: O plugin modifica apenas o endereço da página de login; depois de entrar as páginas continuam com o wp-admin no caminho.

    Em último caso gostaria ao menos de identificar onde vão os endereços destes links no email para modificar manualmente… mas gostaria mesmo de uma alternativa sem alterar os arquivos do wordpress, devido as atualizações! Estou testando neste site, pois tenho mais nove esperando uma alternativa que me atenda!

    Obrigado pela atenção!

    Moderador Felipe Elia

    (@felipeelia)

    Oi @linaldobnascimento,

    A função que envia o link é a wp_notify_moderator(). A partir da linha 1665 ele faz um monte de chamadas para a função admin_url() para montar o endereço da página de aprovação do comentário no Painel.

    Para não alterar o código-fonte do WordPress, você pode usar o filtro comment_moderation_text para alterar o texto do e-mail e trocar (pode ser por regex mesmo) todas as URLs do painel para a sua URL de login personalizado. Só tome cuidado nessa transformação porque você terá que explicar o caminho que o leitor do e-mail deverá percorrer no Painel para a aprovação do comentário, já que ao invés da URL direta você vai passar só a de login.

    Você poderia sobrescrever o corpo do e-mail completamente também, com um código mais ou menos assim (não cheguei a testar):

    /**
     * Função para alterar o corpo do e-mail enviado quando tem comentário novo.
     * @param  string $notify_message Texto original do e-mail.
     * @param  int    $comment_id     ID do comentário.
     * @return string                 Texto alterado do e-mail
     */
    function wpbr_78485_comment_moderation_text( $notify_message, $comment_id ) {
    	$notify_message = 'Existe um comentário novo esperando aprovação.
    	Conecte-se pelo endereço http://dominio.com/login-personalizado e
    	depois acesse' . admin_url( "comment.php?action=editcomment&c={$comment_id}" ) .
    	'para aprová-lo, exclui-lo ou marcá-lo como spam';
    	return $notify_message;
    }
    add_filter( 'comment_moderation_text', 'wpbr_78485_comment_moderation_text', 10, 2 );

    A função get_admin_url usa o filtro admin_url, que te permitiria alterar esses links para o painel, mas como não é possível saber se o usuário estará ou não logado na hora em que ele ler o e-mail, acho que não vai funcionar.

    Não esqueça de voltar para contar como resolveu e, se for o caso, para marcar seu tópico como resolvido.

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘Links de acesso no email de notificação de comentários’ está fechado para novas respostas.