No generar tema automáticamente para todas las publicaciones del blog

¡Hola! ¿Existe alguna forma de evitar la creación automática de un tema para cada publicación de blog que publicamos en nuestro sitio web, pero seguir manteniendo la sección de comentarios?

Creo que tiene más sentido generar un tema automáticamente siempre que haya un comentario en una publicación de blog específica. Actualmente, la lógica es que el tema debe existir antes de que las personas puedan comentar.

¡Gracias de antemano!

¿Es lo mismo que quieres hacer?

Si es así, consulta:

Gracias por tu respuesta. Sí, quería activar la publicación en Discourse solo bajo ciertas condiciones.

Sin embargo, nuestro sitio web no está construido con WordPress. Está construido con Hugo.

¿Hay algo que podamos hacer para lograrlo?

Para aclarar que no estamos utilizando ningún sistema de comentarios que no sea Discourse. Lo que queremos es crear un tema solo cuando haya un comentario real en una publicación, en lugar de tener un montón de temas vacíos en Discourse como los que se muestran a continuación:

¿Me he explicado bien?

¿Existe alguna configuración para esto?

No realmente… ¿Cómo se supone que los usuarios deben responder a un tema si aún no se ha publicado en ningún lugar? Cada tema debe comenzar con 0 respuestas. Supongo que me estoy perdiendo algo aquí :thinking:

Creo que lo que buscas es que todos los temas extraídos de tu sitio web a Discourse estén marcados como no listados. Cuando un tema reciba un comentario, se marcaría automáticamente como listado. Los temas no listados no aparecen en la lista de temas, por lo que esto evitaría que la lista de temas de tu sitio se llene de temas sin respuestas.

Este tipo de configuración tiene sentido para sitios donde las personas acceden a los temas de Discourse haciendo clic en un enlace “Iniciar discusión” que se muestra debajo de una entrada de blog. Discourse no tiene una configuración para esto, pero creo que sería una solicitud de función razonable. El plugin de Discourse para WordPress tiene esta funcionalidad, pero utiliza la API de Discourse para listar y no listar los temas.

@simon ¡Eso es exactamente lo que queremos! Gracias por tu respuesta. El problema es que nuestro sitio no está construido con WordPress. Pero podemos echar un vistazo a la API de Discourse.

Hablando de solicitudes de funciones, ¿dónde puedo presentar esta solicitud para Discourse?

@Canapin Entonces, queremos que la entrada del blog reciba un comentario primero ANTES de que se liste como un tema en Discourse. La entrada ya existe en nuestro sitio, ¿verdad?

Esa es una buena idea. La otra opción sería no crear los temas hasta que el usuario haga clic, pero creo que tu sugerencia podría ser más sencilla. Quizás @eviltrout podría considerar esto como una tarea posible para esta versión, ¿la próxima semana?

Y, ¿cómo puedo establecer ‘Sin listar’ mediante la API? No puedo encontrar las APIs relacionadas en mi archivo comment_embedding.js. Gracias.

La forma más sencilla de averiguarlo sería probar a ocultar y luego hacer visible un tema a través de la interfaz de usuario de Discourse, siguiendo los pasos descritos en esta guía: Cómo ingeniería inversa de la API de Discourse.

Para automatizar el proceso mediante la API, necesitarías configurar un webhook para escuchar eventos de publicaciones. Cuando recibas un webhook que te indique que se ha creado la primera publicación en tu categoría de incrustación, deberías enviar una solicitud a la API para ocultar el tema. Cuando recibas un webhook que te indique que se ha creado la segunda publicación en un tema, deberías enviar una solicitud a la API para hacer visible el tema.

Como se mencionó anteriormente, un enfoque mejor podría ser que el tema se oculte automáticamente la primera vez que un usuario haga clic en él desde un sitio de blog. De esta manera, el primer usuario que deje un comentario no vería el tema marcado como oculto. Esto sería un poco más complejo de configurar, pero podría hacerse a través de la API escuchando eventos de clic en los enlaces a tus temas de Discourse.

Esto se ha solicitado durante años en el tema Embed Discourse comments on another website via Javascript.

Sí, creo que deberíamos hacer esto @eviltrout. ¿Quizás la versión más sencilla (por defecto sin listar, pero que se hace visible una vez que llega una respuesta)?

Vale, gracias por tu ayuda.

¡Con ganas de esta nueva función! Suena como algo muy necesario. Entonces, ¿cómo puedo mantenerme informado cuando esté disponible?

Idealmente, este tema se actualizará cuando la función esté disponible. En ese caso, recibirás una notificación al respecto si configuras tu nivel de notificaciones para este tema en “Observando”.

¡Bien! Ya tengo una solicitud de extracción lista para esta característica:

¡Buena noticia! ¡Gracias!

¡Vaya, eso es realmente impresionante! Tan rápido.

¡Acabo de ver esta función en vivo! Un saludo especial a @codinghorror y @eviltrout. Gracias por ser tan receptivos a las solicitudes de los usuarios.