Post não publicado corretamente no Discourse – Permalink ausente na resposta da API

Estou enfrentando um problema com o plugin Discourse para WordPress ao tentar publicar um post do WordPress no Discourse.

Descrição do Problema:

Quando crio um novo post no meu site WordPress e marco a opção “Publicar no Discourse” na aba Discourse antes de publicar, o post é publicado com sucesso no WordPress. No entanto, o tópico do Discourse não é criado naquele momento.

Mais tarde, se eu editar o mesmo post e voltar à aba Discourse, então clicar em “Novo Tópico” e publicar no Discourse, o post é criado no site Discourse. Mas este tópico do Discourse não é vinculado ao post original do WordPress. Não há associação de permalink ou metadados salvos de volta no post.

Resultados da Depuração:

Durante a depuração, notei que a chamada para:
/wp-json/wp-discourse/v1/publish-topic

retorna a seguinte resposta:

{
“publish_response”: “success”,
“permalink”: “”
}

Como você pode ver, o campo “permalink” está vazio. Isso parece ser a razão principal pela qual o tópico do Discourse é criado, mas não vinculado de volta ao post do WordPress (ou seja, o permalink não é armazenado no postmeta, então o link entre WP e Discourse está quebrado).

Você poderia, por favor, ajudar a investigar por que o permalink está retornando vazio na resposta da API? Há alguma má configuração do plugin ou um bug no fluxo de publicação?

Me avise se precisar de algum log ou informação adicional. Agradeço sua ajuda!

Olá @techops, você poderia compartilhar quaisquer logs relevantes de WP Discourse > Logs no WordPress. Por favor, compartilhe também o arquivo meta dessa visualização, se possível.

1 curtida

Olá Angus,

Obrigado pela rápida resposta.

Não há logs disponíveis em WP Discourse > Logs no painel do WordPress, a visualização de logs está atualmente vazia.

No entanto, aqui está o arquivo meta que você solicitou: Discourse meta - Google Docs

Por favor, me avise se há algo mais que eu possa fornecer para ajudar a solucionar este problema.

Obrigado!

Obrigado @techops, há algumas coisas que eu gostaria de fazer.

Por favor, desative esta configuração nas configurações de Publicação

Enviar Notificação por E-mail em Falha de Publicação

Por favor, certifique-se de que esta configuração esteja habilitada nas configurações de Publicação

Logs de Publicação Verbosos

Você tem vários tipos de postagem configurados para publicação

post,event,groups,collections,podcast

Com qual tipo de postagem você está tendo esse problema? Se não for post, você poderia explicar um pouco mais sobre como esse tipo de postagem está configurado?

Olá Angus,
Apliquei as configurações sugeridas:

  • Desativado: Enviar Notificação por E-mail em Falha na Publicação
  • Ativado: Logs de Publicação Verbosos

Estou usando apenas o tipo de postagem post.

Após atualizar as configurações, criei e publiquei um novo post no Discourse. Aqui estão os logs gerados:

[2025-04-22 15:58:12] publish.INFO: create_post.post_success {"wp_title":"test post 4","wp_author_id":"221","wp_post_id":15068} 
[2025-04-22 15:58:12] publish.INFO: create_post.body_valid {"wp_title":"test post 4","wp_author_id":"221","wp_post_id":15068} 
[2025-04-22 15:58:12] publish.INFO: create_post.after_publish {"post_id":15068,"remote_post_type":"create_post","discourse_post_id":"","discourse_topic_id":"6910","discourse_permalink":""} 

Me avise se precisar de qualquer informação ou detalhe adicional.

Obrigado!

Obrigado por compartilhar isso. Esses registros parecem normais para mim. Posso ver que um tópico no Discourse está sendo criado após uma postagem no Wordpress ser publicada. Você poderia confirmar exatamente qual é o problema? Por favor, descreva-o nestes termos:

  1. Eu faço uma postagem no Wordpress.
  2. Após a postagem ser publicada, espero ver…

Tente não fazer nenhuma suposição técnica nesta fase. Obrigado!

Olá Angus,
Criei uma postagem no WordPress.
Após a publicação da postagem, espero ver o seguinte comportamento:

Quando a caixa de seleção em ‘Publicar no Discourse’ estiver marcada, o comportamento correto é que uma postagem seja criada no Discourse e vinculada à postagem no WordPress.

No entanto, o que realmente acontece é que a postagem é criada no Discourse, mas o link é perdido imediatamente. Em seguida, ele precisa ser recriado manualmente.

Obrigado!

Obrigado, você também pode confirmar o seguinte:

  1. Qual editor de posts do Wordpress você está usando? Classic ou Gutenberg? Esses posts estão sendo criados de uma maneira não padrão (por exemplo, vejo que você está usando “Gravity Forms Advanced Post Creation”)
  2. Você pode compartilhar um exemplo de post do Wordpress e um tópico do Discourse onde esse problema está ocorrendo?
  3. Você está usando algum plugin que modifica os campos meta do Wordpress (por exemplo, Advanced Custom Fields)?

Obrigado por acompanhar. Aqui estão os detalhes:

  • Estamos usando o editor Gutenberg para criar posts.
  • Não estamos usando nenhum plugin de campo personalizado, como o Advanced Custom Fields.
  • Gravei um vídeo replicando o problema para sua análise. Você pode conferi-lo aqui.

Me avise se precisar de alguma informação adicional ou de mais testes.
Se ajudar, também posso fornecer acesso temporário de login para que você possa explorar a configuração diretamente.

Obrigado!

Obrigado por gravar o vídeo. Parece que você está usando um fluxo de publicação personalizado para publicar posts.

Isso pode estar conectado ao problema.

Você consegue tentar publicar posts sem esse fluxo personalizado? A maneira como chegaremos ao fundo disso é um processo de eliminação. É provável que uma de suas personalizações não seja interoperável com o conjunto de recursos de publicação do WP Discourse.

Obrigado pela sugestão.
Testei publicar posts diretamente sem usar o fluxo de trabalho personalizado, mas infelizmente, ainda não funciona.

Ok, por favor, continue nesse sentido. Uma de suas personalizações provavelmente está impedindo que o plugin WP Discourse salve o post_id e o permalink quando um tópico é publicado.

Obrigado, Angus.

Identifiquei o culpado, o plugin SmartCrawl SEO está entrando em conflito com o WP Discourse. Após desativar o SmartCrawl, as postagens estão sendo publicadas no Discourse como esperado e links corretamente para as postagens do WordPress.

1 curtida

Muito bem por encontrar o culpado. Acho que neste momento pode valer a pena passar isso para a equipe de suporte deles, ou seja, “Seu plugin parece estar impedindo outro plugin de usar as APIs padrão do WordPress…” e então descrever o problema. Você pode apontá-los para este tópico talvez.