Caixa de comentário do Discourse aparecendo duas vezes

2 caixas de comentários do Discourse estão aparecendo.

Plataforma: WordPress
Tema: Astra

Antes, usávamos o tema Extol e depois mudamos para o Astra. Adicionamos o hook da seção de comentários pelo Astra Site Builder e o colocamos sob a postagem por condição de exibição.

Todas as postagens do blog mostram a seção de comentários normalmente, exceto 3 postagens (que mostram a seção de comentários do Discourse duas vezes).

Alguém pode me ajudar?

Olá, parece um problema com o seu tema, ou talvez com a forma como você está usando o “Astra Site Builder”, mas vamos ver se podemos ajudar mesmo assim.

Talvez você possa detalhar como isso se parece? Você usou algum código? Você poderia vincular à documentação do “Astra Site Builder”? É um tema habilitado para blocos? Tente fornecer o máximo de detalhes possível.

1 curtida

Obrigado @angus pela sua pronta resposta.

Na verdade, não vejo nenhum código ao editar o código e estou usando o modelo de postagem única padrão do tema, que não deveria ter o código de comentário do discourse.

A coisa estranha é que isso está acontecendo apenas com as seguintes postagens: Strange thing is this happening with only following posts: - Pastebin.com [Por favor, verifique o pastebin, adicionei links lá]

Outras postagens estão mostrando apenas a caixa de comentários que adicionei pelo construtor de sites astra.

Sim, astra é um tema habilitado para blocos. Aqui está a documentação dele: Documentation Docs

Você usou o Bloco de Comentários WP Discourse?

1 curtida

Sim, usei o bloco de comentários WP Discourse no Astra Site Builder. Mesmo desativando o hook do Astra Site Builder, esta caixa de comentários extra do Discourse ainda fica visível sob a postagem.

Anteriormente, usávamos o tema Extol. Adicionamos o bloco de comentários do Discourse na própria página de postagem única.

Em seguida, mudamos para Astra.

O Astra tem algumas limitações, então não podemos editar o modelo de postagem única padrão. É por isso que adicionei a caixa de comentários do Discourse através do hook do construtor de sites Astra, que está funcionando perfeitamente.

Mesmo que eu desative o hook do construtor de sites Astra, estas 3 páginas ainda mostram a caixa de comentários do Discourse, não adicionamos o bloco de caixa de comentários na postagem. E realmente não consegui descobrir de onde ele está vindo aqui.

Por favor, desative a configuração “Habilitar comentários do Discourse” em WP Discourse > Comentários e diga-me qual efeito isso causa (certifique-se de salvar a alteração da configuração).

Se eu desativar esta configuração, ambas as caixas de comentários desaparecem.

1 curtida

Ok, você pode reativá-lo.

O problema é que, qualquer que seja a combinação de tema e construtor de sites que você esteja usando, você tem tanto um template de postagem PHP quanto um template de postagem de bloco na mesma página (isso não é normal). Esse é o motivo pelo qual isso está acontecendo.

Se você quiser carregar ambos os templates em uma única página, precisará remover a linha comments_template do template PHP da postagem.

1 curtida

Se for do php, estou me perguntando por que ele só é visível para 3 posts específicos.
Não consegui encontrar comments_template no arquivo single.php. :cry:

1 curtida

Se eu desativar os comentários das configurações do personalizador, apenas a caixa de comentários desaparece. A caixa de comentários do Discourse ainda fica visível.

1 curtida

Ainda não consegui descobrir.

Quando alguém comenta em um tópico do fórum Discourse, uma nova seção de comentários aparece sob a postagem de blog relacionada. Não consegui encontrar comments_template.

Você poderia sugerir algum artigo ou tutorial em vídeo sobre isso?

@angus

1 curtida

Eu escondi uma seção de comentários com CSS adicional.

É uma solução temporária. Se houver alguma maneira eficaz, por favor, me avise, eu aplicarei.

1 curtida

Há uma chamada de função de modelo de comentários nos modelos PHP que você está usando, que está causando isso. Ela se parecerá com algo assim.

<?php comments_template(); ?>

Onde ela está dependerá de quais modelos PHP você está usando. Encontre essa função e você resolverá o problema. Infelizmente, não há muito mais ajuda que nós, ou um artigo, possamos dar.

A única outra coisa que eu sugeriria é entrar em contato com o pessoal que oferece suporte ao “Astra”. A questão subjacente aqui é essa combinação de modelos PHP e blocos que você tem em andamento. Talvez eles possam lançar alguma luz sobre isso.

2 curtidas

Primeiramente, quero agradecer imensamente a @angus por me acompanhar nesta jornada e por oferecer orientações tão ponderadas. Seu apoio significa muito, e aprecio genuinamente o tempo e o esforço que você dedicou para me ajudar a solucionar este problema. Deixe-me detalhar tudo o que explorei e tentei, na esperança de que isso possa ajudar outros que enfrentam problemas semelhantes.

Contexto e Configuração Inicial:
Inicialmente, estávamos usando o tema Extol, onde adicionamos o bloco de comentários do Discourse diretamente na própria página de postagem única. Isso funcionou perfeitamente. Ao mudarmos para o tema Astra, as coisas se tornaram mais complicadas. Como o Astra tem algumas limitações (como não ser possível editar facilmente o modelo padrão de postagem única), adicionei a caixa de comentários do Discourse através dos hooks do Astra Site Builder e a posicionei abaixo da postagem com base em uma condição de exibição.

Isso funcionou bem para a maioria das postagens, mas para três postagens específicas, a seção de comentários do Discourse apareceu duas vezes. Não consegui entender por que isso acontecia apenas nessas postagens, enquanto outras eram exibidas corretamente. Essa anomalia me levou a pensar que poderia haver um resquício da antiga configuração do Extol, mas não consegui identificar nada definitivo.

Explorando o Problema:

  • Primeiro, verifiquei o editor de postagens, procurando por quaisquer configurações ou blocos que pudessem ter sido ativados ou desativados manualmente para os comentários do Discourse. Surpreendentemente, não havia nada lá — nenhum bloco extra, nenhuma configuração diferente.

  • Em seguida, desativei o hook do Astra Site Builder para ver se isso removeria a seção de comentários extra. Não removeu; a caixa duplicada permaneceu. Isso sugeriu que a duplicação estava ocorrendo fora da configuração do Astra Site Builder.

  • Então, tentei desativar o “Enable Discourse Comments” nas configurações do WP Discourse. Como você aconselhou, isso removeu ambas as seções de comentários, indicando que ambas estavam sendo geradas de alguma forma através dessa integração.

  • Após reativá-lo, investiguei mais a fundo os arquivos do tema. Procurei em single.php, content-single.php e outros arquivos de modelo relacionados por qualquer instância de comments_template();. Infelizmente, não consegui encontrar nada que chamasse explicitamente essa função. Isso me deixou perplexo. Se fosse um problema de modelo PHP, por que não consegui encontrá-lo?

  • Também tentei verificar modelos personalizados. Talvez essas três postagens estivessem usando um modelo diferente? Não consegui confirmar isso. Tudo apontava para a configuração padrão.

  • Outra teoria estava relacionada à sincronização de comentários — talvez quando alguém comentava no fórum do Discourse, isso acionava outra seção de comentários para aparecer abaixo da postagem do blog relacionada. Isso parecia plausível, mas não consegui encontrar uma configuração ou documentação que se ligasse diretamente a esse comportamento.

  • Recorri a uma solução temporária de CSS para ocultar a seção de comentários duplicada:

    Adicionado CSS no Personalizador de Tema do WP CSS Adicional

    #comments {
        display: none !important;
    }
    

    Adicionado CSS no hook do Astra:

    #comments {
        display: block !important;
    }
    

    Embora isso tenha funcionado, concordo que não é uma solução permanente. Eu prefiro muito mais abordar a causa raiz.

Pensamentos e Teorias:

  • Suspeito que possa ser um problema mais profundo em como o Astra lida com hooks e blocos — talvez algum conflito ou duplicação na forma como os comentários do Discourse são incorporados.
  • Outra possibilidade é que haja uma configuração oculta ou uma configuração remanescente do antigo tema Extol que ainda esteja influenciando as coisas.
  • Ou pode estar relacionado a como o Discourse sincroniza com o WordPress. Quando um comentário é feito no fórum, ele pode estar acionando algo dentro do site WordPress, criando essa seção extra.

O que Não Tentei:

  • Contatar o Suporte do Astra: Como você sugeriu, isso pode valer a pena. Eles podem estar cientes de problemas semelhantes ou podem fornecer insights sobre como o tema deles lida com comentários e hooks.
  • Desativar todos os plugins, exceto WP Discourse: Isso pode ajudar a isolar se outro plugin está causando esse comportamento.
  • Testar com uma postagem completamente nova: Criar uma nova postagem do zero e ver se o problema se replica pode revelar algo.

Próximos Passos:
Por enquanto, acho que vou explorar o contato com o suporte do Astra e possivelmente realizar mais testes com os plugins desativados. Talvez eu também tente uma abordagem diferente usando um tema filho e vendo se consigo lidar manualmente com a seção de comentários do Discourse com mais precisão.

Novamente, Angus, muito obrigado pela sua ajuda e paciência. Suas percepções foram inestimáveis, e mesmo que eu ainda não tenha resolvido, sinto-me mais perto de entender o que está acontecendo. Se mais alguém tiver pensamentos, insights ou experiências com problemas semelhantes, adoraria ouvi-los!

Continuarei investigando e atualizarei aqui se descobrir algo novo. Abraços!

2 curtidas

Você tem a configuração Mostrar comentários existentes do WP ativada por acaso?

2 curtidas

Tentei ativar/desativar as configurações, mas isso não teve efeito na caixa de comentários extra do Discourse.

Obrigado @Arkshine

1 curtida

Minha culpa, eu não estava olhando para o problema certo!
Eu pensei que você estava falando apenas sobre este:


Eu acho que seu problema é esperado.
O tema Astra não suporta o recurso Edição Completa do Site ou funciona com blocos.
Em outras palavras, Astra não é um tema de bloco e, para personalizar páginas, você precisa usar um construtor de páginas de terceiros (como o Elementor, no seu caso).

Você certamente verá um duplicado se não estiver usando o bloco Discourse para substituir o bloco de Comentários original. Angus mostra o que você precisaria fazer se tivesse um tema de bloco em seu vídeo: WP Discourse Comments Block.

Você não está substituindo a área de comentários ao adicionar o bloco Discourse usando hooks; você está colocando código personalizado em um local específico.


Qual é a solução?

Se você preferir a aparência/localização do hook Astra, há uma maneira de remover a área de comentários nativa do WP. Você pode adicionar este código PHP. Veja How to Add Custom PHP Code in the Astra Theme? se precisar de ajuda sobre como.

add_action(
	'init',
	function() {
		if ( class_exists( 'Astra_Loop' ) ) {
			remove_action( 'astra_template_parts_content', array( Astra_Loop::get_instance(), 'template_parts_comments' ), 15 );
		}
	},
	11
);

Espero que ajude!

4 curtidas

Muito obrigado, @Arkshine! :tada:
Finalmente, a seção de comentários nativa não está mais visível — que jornada tem sido!

E um enorme agradecimento também a @angus. Sua paciência, orientação e insights profundos foram verdadeiramente inestimáveis durante todo este processo. Agradeço sinceramente o tempo e o esforço que você dedicou para me ajudar a navegar por este problema.

Desde testar diferentes configurações até depurar a mistura de templates de blocos e PHP, explorei tudo — desde desabilitar os ganchos do Astra até ajustar o CSS, verificar o template de comentários e até mesmo rastrear por que apenas certas postagens foram afetadas. Foi uma montanha-russa de tentativa e erro, mas cada passo me ajudou a entender melhor o sistema.

Isso não teria sido possível sem sua expertise e disposição para ajudar. Sua ajuda não apenas corrigiu o problema — ensinou-me muito sobre WordPress, Discourse e integrações de temas. Sou imensamente grato.

Para quem estiver enfrentando problemas semelhantes: Continue testando, continue aprendendo e nunca hesite em pedir ajuda. A comunidade é incrível! :rocket:

3 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.