Creo que lo he solucionado: [discourse_latest] no es un shortcode válido en sí mismo; pensé que lo había visto en algún lugar. Lo cambié a [discourse_topics source=“latest”] y funcionó.
Sonrisa avergonzada
Ray
PD: ¿Cómo puedo cambiar el formato de fecha en los temas más recientes que se muestran con el shortcode, @simon? Ahora aparece como 2020-10-20 y preferiría que dijera Oct-20 o algo similar.
Estoy bastante seguro de que el plugin de shortcodes utiliza el formato de fecha y hora establecido en la pestaña de opciones de WP Discourse Commenting. Haz clic en el enlace en la descripción de esa configuración para ver las opciones disponibles para formatear las fechas.
¿Podrías agregar los nombres de usuario como títulos de los avatares de forma predeterminada o como una opción de shortcode, y tal vez otra opción para eliminar el nombre de usuario (display_usernames = “false”?)? Mientras tanto, si alguien necesita esto, ve a wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php y reemplaza
Y lanza el siguiente error en el front-end: Advertencia: Argumento no válido suministrado para foreach() en /home/customer/www/web.com/public_html/wp-content/plugins/wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php en la línea 94
Si ayuda a alguien, el feed RSS de mi comunidad funciona perfectamente y enumera todos los temas. ¿Qué podría estar faltando aquí? Agradecería su ayuda
Edición y actualización: Parece que la variable de temas no se está llenando en el código.
Línea 94: foreach ( $topics as $topic ) {
.....
}
// Definición de la variable de temas
if ( $use_plugin_formatting ) {
$topics = $discourse_topics['topic_list']['topics'];
}
Lo resolví. La casilla para mostrar publicaciones privadas no estaba activada. Además, el error se puede solucionar añadiendo una condición para el valor nulo de la variable $topics. Lo hice y funcionó perfectamente.
¿Cuál es la opción para actualizar Discourse con la nueva foto de perfil de WP de los usuarios?
Usar un webhook para sincronizar los datos de los usuarios con Discourse. — lo cual creé y funciona entre ambos sitios, pero no actualiza la foto de perfil de los usuarios en Discourse.
Esto finalmente está en la parte superior de mi lista, así que trabajaré en este plugin mañana, corrigiendo algunos errores y respondiendo a tus preguntas. Disculpa la larga demora.
He probado el plugin a fondo, he corregido algunos errores, dos de ellos relacionados con la no actualización de la caché de la salida del shortcode, he actualizado el archivo readme y he subido una nueva versión.
Todavía veo un gran problema donde los shortcodes [discourse_topics] con diferentes categorías no funcionan correctamente. Esto requerirá una cantidad considerable de trabajo para solucionarlo. Abordaré ese problema de inmediato después de mis próximas vacaciones.
Solo tengo un código corto en uso en esta instancia, así que no estoy seguro de si debería tener problemas. Me gustaría mostrar temas privados, pero solo de ciertas categorías (que se recopilan bajo una categoría principal única). Ni el ID de la categoría principal única (por ejemplo, [discourse_topics category="5" ... ]) ni cada uno de los IDs de las subcategorías (por ejemplo, [discourse_topics category="6,7,8,9,17" ... ]) parecen limitar los resultados a estas categorías (se muestran temas privados adicionales que no deberían mostrarse). Me pregunto si este es el comportamiento esperado actualmente (que van a abordar).
Una solución rápida podría ser desactivar la casilla de verificación Mostrar temas privados en la pestaña de configuración. Eso no resolverá el problema de la(s) categoría(s) incorrecta(s) seleccionada(s), pero evitará que los temas privados aparezcan en WordPress.
¿Podrías revisar tus registros en el lado de Discourse y buscar la llamada a la API que se está realizando? La llamada a la API se activará cuando edites y cambies la página en el lado de WordPress.
No pude encontrar ninguna llamada a la API en ninguno de los registros de Discourse. Sin embargo, la buena noticia es que creo que podríamos haberlo resuelto.
El shortcode original usaba source="top" y otros parámetros, así que fui eliminando lentamente el shortcode hasta que solo usaba la configuración predeterminada por omisión. Tenía la impresión de que solo source="latest" utilizaba un webhook según el texto de la casilla de verificación en la configuración de administración de WP, pero habilitamos un webhook para los temas más recientes (y además restringimos el disparador solo a las categorías que queríamos mostrar) y luego, al volver a agregar la categoría principal, ¡el shortcode comenzó a respetar las restricciones de categoría! (No respetó la restricción de categoría con source="latest" hasta que habilitamos el webhook, a pesar de borrar el HTML en caché a través de la página de administración de WP y otras fuentes de almacenamiento en caché que tenemos para el sitio).
Después de ver los resultados deseados usando el webhook + source="latest", volví a cambiar la fuente a “top” y luego agregué los parámetros originales uno por uno. Hasta ahora ha seguido respetando la restricción de categoría. Dejé el webhook habilitado.
Si el webhook es lo que está ayudando (todavía, y no solo algo que sirvió como un reinicio, por así decirlo), sugiero cambiar el texto de la página de administración de WP de “Usar un Webhook de Discourse para actualizar la lista de temas ‘más recientes’” a “Usar un Webhook de Discourse para actualizar la lista [discourse_topics]” (o algo más para dejar claro que no importa la fuente que estés usando en la lista de temas, el webhook es probablemente la panacea que estamos buscando).