Plugin wp-discourse-shortcodes

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.

1 me gusta

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.

¡Eso funcionó, gracias!

Ray

1 me gusta

¿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

$avatar_image = '<img class="wpds-latest-avatar" src="' . esc_url_raw( $poster_avatar_url ) . '">';

con

$avatar_image = '<img class="wpds-latest-avatar" title="'. esc_html( $poster_username ) . '" src="' . esc_url_raw( $poster_avatar_url ) . '">';

Gran plugin. ¡Gracias!

Además, sería útil incluir el enlace para categorías (más información aquí) como una opción dentro de tu shortcode.

¿Sigue siendo este complemento mantenido? :smiley:

Sí, nosotros (Communiteq) lo estamos manteniendo ahora.

2 Me gusta

No parece ‘actualizar’ las publicaciones más recientes de Discourse.

Debo estar haciendo algo mal.

[discourse_topics source=“latest”] este es el shortcode que estoy usando.

Ha extraído tres temas de Discourse, pero desde entonces he agregado más temas para ver si se muestran en mi sitio de WordPress.

No lo han hecho.

He probado el evento Ajax y aún parece no cargar las nuevas publicaciones :sweat:

¿Es posible obtener los temas solo de una categoría o subcategoría determinada?

Gracias por gestionar este plugin. Necesito que muestre la actividad del foro en el sitio principal de WordPress.

Tengo muchos temas en la instancia de Discourse, pero el shortcode [discourse_topics] devuelve una página en blanco, como si no hubiera datos - Screenshot - b9160f714e42b2677b01bcf00c041634 - Gyazo

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 :pray:

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.

1 me gusta

Si solo el foreach de PHP no se quejara con los arrays vacíos, mi vida sería mucho mejor.
Agregaremos esta verificación en la próxima versión.

1 me gusta

¿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.

@RGJ
Hola Richard,
Estoy usando la última versión de este plugin pero desafortunadamente no funciona.
Tengo el mismo problema que Nick:
No parece ‘refrescar’ las últimas publicaciones de Discourse.
Debo estar haciendo algo mal,
[discourse_topics source=“latest”] este es el shortcode que estoy usando.
Ha extraído tres temas de Discourse, pero desde entonces he añadido más temas para ver si se reflejan en mi sitio de WordPress.
No lo han hecho.
Intenté con el evento Ajax y todavía no parece extraer nuevas publicaciones :sweat:

¿Podrías ayudarme aquí, por favor?

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.

3 Me gusta

Gracias, muy apreciado.

Tenga en cuenta que mi problema se solucionó al vaciar la caché de objetos de mi sitio web principal.

2 Me gusta

¿Configuraste la opción «Habilitar Webhook de Discourse»?

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.

4 Me gusta

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).

No se admiten varios ID de categoría.

De hecho, ese no es el comportamiento esperado.

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.