Migrando de wp-discourse-embed a WP Discourse – las publicaciones antiguas no aparecen

Durante casi cinco años, mi blog funcionó con wp-discourse-embed de @techAPJ. Aquí tienes un ejemplo de una publicación
Soya Chunks Masala Dry Recipe | A Little Bit of Spice y la publicación correspondiente en el foro: Soya Chunks Masala Dry - blog - comments
Pude migrar y configurar WP Discourse de @angus:

Pero ahora, las antiguas publicaciones del foro no aparecen como comentarios en las publicaciones del blog. La publicación del blog anterior es un ejemplo.
Supongo que se necesita algún tipo de mapeo.
¿Cómo puedo integrar esto?
Así es como se ve mi registro

Y el último:

[2024-04-03 01:42:27] webhook_topic.ERROR: update_topic_content.webhook_verification_error [“message”,“Discourse Webhook Request Error: signatures did not match.”]

Registros sin procesar aquí.

1 me gusta

Hola,

Acerca de:

Este error significa que el valor de la opción Webhook Secret Key en WP-Discourse no coincide con la contraseña definida en tu webhook de Discourse. ¿Puedes comprobarlo?

@simon me corregirá si me equivoco, pero sí, una publicación de WordPress necesita sincronizarse con un tema de Discourse. Para los temas existentes, deberías tener la opción de vincular a un tema de Discourse existente:

.
Una vez sincronizado, se deberían recuperar los comentarios.

No estoy seguro de si hay una mejor manera; espero que alguien pueda ofrecer mejores ideas.

4 Me gusta

Tienes razón en ambos problemas.

@Jane_Jojo, intenta vincular un tema de Discourse existente a su publicación correspondiente de WordPress utilizando el método que demostró @Arkshine. Ten en cuenta que la interfaz de usuario es ligeramente diferente dependiendo de si estás utilizando el editor clásico de WordPress o el nuevo editor de bloques.

Si vincular un tema de Discourse a una publicación de WordPress funciona, lo siguiente que habrá que averiguar será cómo vincular todos tus temas y publicaciones existentes. ¿Cuántas publicaciones antiguas tienes? Si son demasiadas publicaciones para vincularlas manualmente a Discourse, podría haber una forma de automatizar el proceso.

2 Me gusta

Gracias.

Entonces hice esto.

y obtengo un 200 cuando hago un ping. Así que eso está claro.

Luego hago esto:


Pero la publicación no lo refleja

¿Me falta algo más? Los registros no parecen tener ninguna actualización.

Actualización:
Cuando hago ping desde el webhook de discourse

Obtengo esto en el lado del registro

[2024-04-03 21:38:14] webhook_topic.ERROR: update_topic_content.response_body_error

¿Tu WordPress utiliza un plugin de caché?

Es posible que necesites habilitar esta configuración:

Además, si aún no lo has hecho, habilitar la depuración en los comentarios podría ayudar:

image

El mensaje de error que está viendo se generará si hace “ping” al webhook. En el extremo de WordPress, el código espera que haya un objeto post en el webhook que se envía desde Discourse. La publicación no estará en la carga útil si simplemente hace clic en el botón “ping”. Intente dejar un comentario en un tema de Discourse que esté vinculado a Discourse y vea si eso todavía le da un error.

Para el problema de que los comentarios de Discourse aparezcan en su sitio de WordPress:

  • asegúrese de que los comentarios estén habilitados en WordPress para las publicaciones que está publicando en Discourse
  • asegúrese de que la opción “Habilitar comentarios de Discourse” esté habilitada:

Si no ha tenido comentarios habilitados anteriormente en su sitio de WordPress, es posible que no desee habilitarlos ahora para las publicaciones que aún no están conectadas a Discourse. Para evitar que se muestre el formulario de comentarios de WordPress para esas publicaciones, puede habilitar los comentarios en todo el sitio y luego seleccionar la configuración “Eliminar plantilla de comentarios de WordPress” en la página Opciones de comentarios de WP Discourse:

Háganos saber si todavía tiene problemas.

1 me gusta

Ambos habilitados. Sin suerte.


Página actualizada y los registros no muestran nada

Cuando veo el código fuente de la página, veo un montón de referencias a discourse en el html. Así que está intentando algo…

Así ha estado la configuración de mi sección de comentarios durante mucho tiempo.

¿Puedes asegurarte de que los comentarios estén habilitados para una publicación que hayas enlazado a Discourse? A veces, la opción “Discusión” no se muestra en la página de edición. Es posible que necesites seleccionarla en el menú “Opciones de pantalla” para verla:

Sí, esto estaba habilitado :frowning:

Hmm, no veo nada en la página que indique que la plantilla de comentarios se esté cargando. La referencia a discourse-embed-js en tu captura de pantalla no es del plugin WP Discourse. Creo que está relacionada con el script que cargó el plugin wp-discourse-embed. De hecho, está provocando un error en tu sitio:

Failed to load resource: the server responded with a status of 404 () discourse-embed.js

También hay un <div id="discourse-comments"></div> en la página que proviene del plugin wp-discourse-embed, no del plugin WP Discourse.

No habilitaría la configuración “Load Comments With Ajax” de WP Discourse hasta que confirmes que hay un problema con los comentarios en caché en el sitio. Incluso si ese fuera el caso, debería poder hacer que la plantilla de comentarios se muestre.

¿Hay algún plugin instalado en tu sitio relacionado con los comentarios? Me pregunto si un plugin, o el tema del sitio, está impidiendo que se cargue la plantilla de comentarios de WordPress. El plugin WP Discourse depende de que esa plantilla se cargue. Hay algunas soluciones alternativas para eso, pero todas son bastante técnicas.

Estoy seguro de que será posible solucionar las cosas :slight_smile:

1 me gusta

Estaba revisando el historial del código de mi tema y me di cuenta de que hace algún tiempo había cambiado todo el código de comentarios de WP a comentarios de Discourse.

Sospecho que el legado es necesario, ¿verdad?

Estoy hablando de memoria, pero no creo que el archivo comments.php editado sea la causa del problema. Lo que debería estar sucediendo es que, en lugar de que se cargue el archivo comments.php de tu tema, el plugin WP Discourse debería cargar su propia sección de comentarios cuando esta función es llamada desde tu tema: comments_template().

Echa un vistazo al archivo single.php de tu tema, o a cualquier archivo que se utilice para mostrar una publicación que hayas enlazado a Discourse. Mira si el archivo contiene una llamada a comments_template(). Se verá algo como esto:

if ( comments_open() || get_comments_number() ) :
	comments_template();
endif;

Es la llamada a coments_template() la que debería activar la carga de los comentarios de WP Discourse.

Podría estar equivocado en esto. Puedo echar un vistazo más de cerca si eso no ayuda a resolver las cosas.

Logré resolver el problema. Los comentarios estaban deshabilitados a nivel del tema. Habilitarlos lo solucionó.

Gracias por las detalladas respuestas.

1 me gusta

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