Plugin wp-discourse-shortcodes

I think I have it sorted – [discourse_latest] isn’t a proper shortcode itself, I thought I saw it somewhere. I switched it to [discourse_topics source=“latest”] and it worked.

Sheepish grin
Ray

PS How can I change the date formatting on the latest topics that show on shortcode, @simon? It shows as 2020-10-20 and I’d rather have it say Oct-20 or similar.

1 me gusta

I’m fairly sure that the shortcodes plugin uses the datetime format that is set on the WP Discourse Commenting options tab. Click the link in that setting’s description to see the available options for formatting dates.

That did the trick, thanks!

Ray

1 me gusta

Could you please add the usernames as avatars titles by default or as a shortcode option, and maybe another option to remove the username ( display_usernames = “false” ?). Meanwhile, if anyone needs this go to wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php and replace

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

with

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

Great plugin. Thanks!

Also, the link for categories ( more info here ) as an option inside your shortcode would be also useful.

is this plugin still being maintained? :smiley:

Yes, we (Communiteq) are maintaining it now.

https://github.com/communiteq/wp-discourse-shortcodes

2 Me gusta

Doesn’t seem to ‘refresh’ latest posts from Discourse.

Must be doing something wrong,

[discourse_topics source=“latest”] this is the shortcode I’m using.

It has pulled three topics from Discourse but since then I’ve added more topics to see if it pulls through on my WordPress site.

They havent.

Tried Ajax event and still doesnt seem to pull new posts through :sweat:

Is it possible to get the topics from a certain category or subcategory only?

Thanks for managing this plugin. I need this to show forum activity on the main site in wordpress.

I have a lot of topics on discourse instance but the [discourse_topics] shortcode returns blank as if there is no data - Screenshot - b9160f714e42b2677b01bcf00c041634 - Gyazo

and throws the following error on the front-end: Warning : Invalid argument supplied for foreach() in /home/customer/www/web.com/public_html/wp-content/plugins/wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php on line 94

If it helps anyone, the RSS feed of my community works just fine and lists all the topics. What could I be missing here? Help appreciated :pray:

Edit and update: It seems like the topics variable is not getting populated in code.

Line 94: foreach ( $topics as $topic ) {
.....
}

//Topic variable definition
if ( $use_plugin_formatting ) {
			$topics            = $discourse_topics['topic_list']['topics'];
}

I figured it out. The checkbox to show private posts was not enabled. Beyond that, the error can be solved by adding a condition for null value for $topics variable. I did that is worked just fine.

1 me gusta

If only PHP foreach would not complain about empty arrays my life would be so much better.
We’ll add this check for the next version.

1 me gusta

which is the option to update discourse with users newest WP profile pic?

Use a webhook to sync user data with Discourse. - which i created and works between the two sites but doesnt update discourse users profile picture?

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