Você pode usar o Discourse como um sistema de comentários para o WordPress. As funcionalidades de comentários dependem das funcionalidades de publicação, portanto, você precisa configurar a publicação para que os comentários funcionem. Se você configurou a publicação e está pronto para configurar os comentários, assista a este vídeo curto ou siga as instruções abaixo.
Próximo Passo
Depois de configurar os comentários, você pode querer verificar os seguintes tópicos:
Instruções
Configurando Comentários
Para que os comentários do Discourse apareçam em seu site WordPress, você deve selecionar a configuração Habilitar Comentários do Discourse. Quando habilitado, você verá duas opções. A opção Exibir comentários carregará um modelo de comentários para cada postagem do WordPress que foi publicada no Discourse. Este modelo exibirá os comentários do Discourse abaixo das postagens do WordPress. A opção Exibir um link para os comentários carregará um modelo de comentários que exibe um link para o tópico associado do Discourse abaixo das postagens publicadas. O número de respostas ao tópico será exibido no link, mas nenhuma resposta será exibida no WordPress.
Ambas essas opções de comentários funcionam carregando modelos de comentários para as postagens do WordPress. Isso significa que elas só funcionarão se os comentários estiverem habilitados para a postagem. Se você deseja habilitar comentários para todas as postagens, mas não deseja que nenhum comentário histórico do WordPress seja exibido para postagens que não foram publicadas no Discourse, habilite a configuração Remover Modelo de Comentários do WordPress.
Configurações
Aqui estão algumas descrições curtas sobre o que as outras configurações de comentários fazem. Se você ainda tiver dúvidas sobre alguma das configurações, responda a este tópico e peça mais esclarecimentos.
Carregar Comentários com Ajax
Esta configuração é usada para carregar comentários do cliente WordPress, em vez de carregá-los do servidor. Isso é útil se o cache de página estiver impedindo que comentários recentes sejam carregados em seu site.
Carregar CSS de Comentários
Esta configuração carrega uma folha de estilo que corrige problemas com oneboxes e citações do Discourse quando eles são exibidos no WordPress.
Mostrar Comentários Existentes do WP
Selecione esta configuração para também mostrar os comentários existentes do WordPress para postagens que também foram publicadas no Discourse, selecione a configuração.
Título de Comentários Existentes
Se você estiver exibindo comentários existentes, esta configuração adicionará um título acima dos comentários do WordPress.
Configurações de Importação Seletiva
Existem várias configurações que permitem importar comentários seletivamente. Estas devem ser autoexplicativas. Os valores padrão para cada uma delas são um bom ponto de partida, portanto, altere-as apenas se tiver um motivo para isso.
- Máximo de Comentários Visíveis
- Número Mínimo de Respostas
- Pontuação Mínima de Postagens
- Nível Mínimo de Confiança
- Ignorar Pontuação de Nível de Confiança
- Importar Apenas Curtidos por Moderador
Formato Personalizado de Data/Hora
Esta configuração formata a data que é exibida para cada comentário do Discourse que aparece em seu site WordPress. Comece com o valor padrão. Se você achar que deseja alterar o formato da data, clique no link na descrição da configuração para obter detalhes sobre como fazer isso.
Cache de HTML de Comentários
Esta configuração pode ser usada para melhorar o desempenho. O cache do HTML de Comentários reduz o número de requisições feitas ao Discourse. Sua configuração associada Limpar Cache de HTML de Comentários deve ser autoexplicativa.
Logs Detalhados de Comentários
Habilitar isso registrará todas as recuperações bem-sucedidas de comentários do Discourse, além de erros (o padrão).
Webhook de Sincronização de Dados de Comentários
Habilitar o webhook de Sincronização de Dados de Comentários no painel de configurações “Webhooks” pode reduzir significativamente o número de requisições de API feitas do WordPress para o Discourse. Antes de habilitar o webhook:
-
visite o URL do Discourse fornecido na descrição da configuração (
http://forum.example.com/admin/api/web_hooks.) -
Clique no botão ‘Novo Webhook’ e preencha o formulário
-
No campo URL de Carga Útil, insira o URL fornecido na descrição do campo
Sync Comment Datado WP Discourse. Será algo como isto, exceto usando o URL do seu site WordPress:https://wp-discourse.dev/wp-json/wp-discourse/v1/update-topic-content. -
Certifique-se de que o campo Tipo de Conteúdo esteja definido como
application/json. -
Na entrada Secreto, insira uma string de texto com pelo menos 12 caracteres. Em seguida, copie essa mesma chave para a configuração
Webhook Secret Keydo WP Discourse. -
Na caixa ‘Quais eventos devem acionar este webhook?’, certifique-se de que ‘Evento de Postagem’ esteja selecionado.
-
Use o campo Categorias Acionadas se você publica postagens do WordPress apenas em categorias específicas. Dessa forma, seu site WordPress não precisará processar requisições de webhook para tópicos que não têm uma postagem associada do Discourse.
-
Deixe a configuração Verificar certificado TLS do URL de carga útil habilitada.
Finalmente, habilite a caixa de seleção ‘Ativo’ e clique em criar. Quando o webhook for salvo, clique no botão Ir para eventos.
-
-
De volta ao WordPress, certifique-se de ter inserido o segredo do webhook do Discourse no campo
Webhook Secret Keye habilite a configuração de webhookSync Comment Data. Em seguida, salve as opções.
O webhook do Discourse agora deve estar funcionando. Você deve verificá-lo clicando no botão Ping do webhook no Discourse (encontrado em /admin/api/web_hooks/:webhook_id/events). Certifique-se de que o ping do webhook esteja retornando um código de status de 200.
Ajustando o período de sincronização comments_number para páginas de arquivo do WordPress
Para obter o número correto de comentários do Discourse para uma postagem, o plugin precisa fazer periodicamente uma requisição HTTP ao Discourse para obter o número atual de comentários. Em páginas individuais, esse período é definido para não ser mais frequente do que a cada 10 minutos. Para páginas de arquivo, o período é definido para não ser mais frequente do que uma vez a cada 24 horas. A razão para isso é evitar fazer várias requisições ao Discourse toda vez que uma página de arquivo é acessada.
Se você ainda achar que o plugin está fazendo muitas requisições ao Discourse ao exibir as páginas de arquivo do seu site, você pode ajustar o archive_page_sync_period conectando-se ao filtro 'discourse_archive_page_sync_period'. Você faz isso adicionando algo como isto ao arquivo functions.php do seu tema:
add_filter( 'discourse_archive_page_sync_period', 'my_namespace_archive_page_sync_period' );
function my_namespace_archive_page_sync_period( $sync_period ) {
// Isso mudará o período de sincronização para posts arquivados para uma vez por semana.
return WEEK_IN_SECONDS;
}
Se você achar que o plugin não está fazendo requisições suficientes ao Discourse para recuperar os números de comentários atuais para páginas de arquivo, você pode adicionar algo como isto ao arquivo functions.php do seu tema. Isso definirá o archive_page_sync_period para 10 minutos.
Nota: em um site movimentado, isso pode sobrecarregar seu servidor.
add_filter( 'discourse_archive_page_sync_period', 'my_namespace_archive_page_sync_period' );
function my_namespace_archive_page_sync_period( $sync_period ) {
// Isso mudará o período de sincronização para posts arquivados para uma vez por semana.
return 10 * MINUTE_IN_SECONDS;
}
Exibir comentários sem carregar o modelo de comentários do WordPress
O plugin WP Discourse usa o modelo de comentários do WordPress para carregar os comentários do Discourse. Se o seu tema não estiver carregando o modelo de comentários, você pode exibir os comentários com a função auxiliar estática get_discourse_comments. Essa função exige que você forneça o ID da postagem do WordPress para a qual deseja exibir os comentários. Aqui está um exemplo simples de seu uso:
use WPDiscourse\\Utilities\\Utilities as DiscourseUtilities;
$discourse_comments = DiscourseUtilities::get_discourse_comments(859);
echo $discourse_comments;
Os comentários serão exibidos da mesma forma que são exibidos se você selecionar a opção Habilitar Comentários do Discourse/Exibir Comentários (encontrada na aba Configurações de Comentários do plugin). Quando esta função é usada, o valor dessa configuração é ignorado, mas todas as outras configurações de Comentários são respeitadas.
Solução de Problemas
O problema mais comum com os comentários do Discourse é que eles podem não aparecer instantaneamente após a postagem ser feita no Discourse. Esse atraso é intencional, pois o plugin tenta reduzir o número de requisições que precisa fazer ao Discourse. Fazer uma requisição toda vez que a página é carregada deixará seu site lento. Se você não estiver vendo os comentários aparecerem instantaneamente, espere 10 minutos antes de atualizar a página novamente.
Problemas com o número de comentários ao exibir comentários do Discourse e do WordPress
O plugin wp-discourse usa o hook de filtro get_comments_number do WordPress para que o número de comentários do Discourse que foram criados para uma postagem possa ser exibido em todo o seu tema. Isso cria um conflito quando comentários do Discourse e do WordPress estão sendo exibidos para uma postagem. O plugin é capaz de resolver esse conflito na maioria dos lugares. Um lugar onde ele não pode ser resolvido é no título do comentário que os temas do WordPress frequentemente exibem no cabeçalho da seção de comentários. Esta é a seção que começa com algo como “2 pensamentos sobre…”.
A maneira mais fácil de fazer isso é adicionar uma regra ao arquivo css do seu tema.
.discourse-comments-area ~ .comments-area .comments-title {
display: none;
}


