La publicación no se publicó correctamente en Discourse: falta el enlace permanente en la respuesta de la API

Estoy experimentando un problema con el plugin Discourse para WordPress al intentar publicar una entrada de WordPress en Discourse.

Descripción del problema:

Cuando creo una nueva entrada en mi sitio de WordPress y marco la opción “Publicar en Discourse” en la pestaña de Discourse antes de publicar, la entrada se publica correctamente en WordPress. Sin embargo, el tema de Discourse no se crea en ese momento.

Más tarde, si edito la misma entrada y vuelvo a la pestaña de Discourse, luego hago clic en “Nuevo tema” y publico en Discourse, la entrada sí se crea en el sitio de Discourse. Pero este tema de Discourse no está vinculado con la entrada original de WordPress. No hay ninguna asociación de permalink ni metadatos guardados en la entrada.

Hallazgos de la depuración:

Durante la depuración, noté que la llamada a:
/wp-json/wp-discourse/v1/publish-topic

devuelve la siguiente respuesta:

{
  "publish_response": "success",
  "permalink": ""
}

Como puedes ver, el campo “permalink” está vacío. Esta parece ser la razón principal por la que el tema de Discourse se crea pero no se vincula de nuevo a la entrada de WordPress (es decir, el permalink no se almacena en el postmeta, por lo que el enlace entre WP y Discourse está roto).

¿Podrías ayudar a investigar por qué el permalink devuelve vacío en la respuesta de la API? ¿Hay una mala configuración del plugin o un error en el flujo de publicación?

Avísame si necesitas algún registro o información adicional. ¡Agradezco tu ayuda!

Hola @techops, ¿podrías compartir los registros relevantes de WP Discourse > Registros en WordPress? Por favor, comparte también el archivo meta de esa vista si es posible.

1 me gusta

Hola Angus,

Gracias por tu rápida respuesta.

No hay registros disponibles en WP Discourse > Registros en el panel de WordPress, la vista de registros está actualmente vacía.

Sin embargo, aquí tienes el archivo meta que solicitaste: Discourse meta - Google Docs

Por favor, házmelo saber si hay algo más que pueda proporcionar para ayudar a solucionar este problema.

¡Gracias!

Gracias @techops, hay algunas cosas que me gustaría hacer.

Deshabilite esta configuración en la configuración de Publicación

Enviar notificación por correo electrónico en caso de fallo de publicación

Asegúrese de que esta configuración esté habilitada en la configuración de Publicación

Registros de publicación detallados

Tiene varios tipos de publicaciones configurados para publicación

post,event,groups,collections,podcast

¿Con qué tipo de publicación está experimentando este problema? Si no es post, ¿podría explicar un poco más sobre cómo está configurado ese tipo de publicación?

Hola Angus:

He aplicado la configuración sugerida:

  • Desactivado: Enviar notificación por correo electrónico en caso de error de publicación
  • Activado: Registros de publicación detallados

Solo estoy utilizando el tipo de publicación post.

Después de actualizar la configuración, creé y publiqué una nueva entrada en Discourse. Aquí están los registros generados:

[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":""} 

Avísame si necesitas información o detalles adicionales.

¡Gracias!

Gracias por compartir eso. Esos registros me parecen normales. Puedo ver que se está creando un tema en Discourse después de que se publica una entrada en Wordpress. ¿Podrías confirmar exactamente cuál es el problema? Por favor, descríbelo en estos términos:

  1. Yo redacto una entrada en Wordpress.
  2. Después de publicar la entrada, espero ver…

Intenta no hacer suposiciones técnicas en esta etapa. ¡Gracias!

Hola Angus:
Compuse una publicación en WordPress.
Después de que la publicación se publique, espero ver el siguiente comportamiento:

Cuando se marca la casilla debajo de ‘Publicar en Discourse’, el comportamiento correcto es que se cree una publicación en Discourse y se vincule con la publicación en WordPress.

Sin embargo, lo que realmente sucede es que la publicación se crea en Discourse, pero el enlace se pierde de inmediato. Luego, tiene que ser recreado manualmente.

¡Gracias!

Gracias, ¿puedes también confirmar lo siguiente:

  1. ¿Qué editor de publicaciones de Wordpress estás usando? ¿Classic o Gutenberg? ¿Se están creando estas publicaciones de una manera no estándar (por ejemplo, veo que estás usando “Gravity Forms Advanced Post Creation”)?
  2. ¿Puedes compartir un ejemplo de una publicación de Wordpress y un tema en Discourse donde ocurra este problema?
  3. ¿Estás usando algún plugin que modifique los campos meta de Wordpress (por ejemplo, Advanced Custom Fields)?

Gracias por dar seguimiento. Aquí están los detalles:

  • Estamos usando el editor Gutenberg para crear publicaciones.
  • No estamos usando ningún plugin de campos personalizados como Advanced Custom Fields.
  • He grabado un video replicando el problema para su revisión. Puede verlo aquí.

Avíseme si necesita información adicional o más pruebas.
Si ayuda, también puedo proporcionar acceso de inicio de sesión temporal para que pueda explorar la configuración directamente.

¡Gracias!

Gracias por grabar el video. Parece que estás utilizando un flujo de trabajo de publicación personalizado para publicar entradas.

Esto puede estar relacionado con el problema.

¿Puedes intentar publicar entradas sin este flujo de trabajo personalizado? La forma en que llegaremos al fondo de esto es un proceso de eliminación. Es probable que alguna de tus personalizaciones no sea interoperable con el conjunto de funciones de publicación de WP Discourse.

Gracias por la sugerencia.
He probado a publicar entradas directamente sin usar el flujo de trabajo personalizado, pero desafortunadamente, todavía no funciona.

Ok, por favor, continúa en esa línea. Una de tus personalizaciones probablemente está impidiendo que el plugin WP Discourse guarde el post_id y el permalink cuando se publica un tema.

Gracias, Angus.

He identificado al culpable, el plugin de SEO SmartCrawl está en conflicto con WP Discourse. Después de desactivar SmartCrawl, las publicaciones se están publicando en Discourse como se esperaba y enlazando correctamente con las publicaciones de WordPress.

1 me gusta

Bien hecho al encontrar al culpable. Creo que en este momento podría valer la pena consultar con su equipo de soporte, es decir, “Tu plugin parece estar impidiendo que otro plugin use las APIs estándar de WordPress…” y luego describir el problema. Tal vez puedas dirigirlos a este tema.