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 Mi Piace

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 Mi Piace

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 Mi Piace

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 Mi Piace

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 Mi Piace

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
Ciao Richard,
Sto usando l’ultima versione di questo plugin ma purtroppo non funziona.
Ho lo stesso problema di Nick:
Sembra non “aggiornare” gli ultimi post da Discourse.
Devo star facendo qualcosa di sbagliato,
[discourse_topics source=“latest”] questo è lo shortcode che sto usando.
Ha recuperato tre argomenti da Discourse ma da allora ne ho aggiunti altri per vedere se venivano visualizzati sul mio sito WordPress.
Non lo hanno fatto.
Ho provato l’evento Ajax e ancora non sembra recuperare nuovi post :sweat:

Saresti in grado di aiutarmi qui, per favore?

Questo è finalmente in cima alla mia lista, quindi ci lavorerò domani, correggendo alcuni bug e rispondendo alle tue domande. Mi scuso per il lungo ritardo.

3 Mi Piace

Grazie, molto apprezzato.

Si prega di notare che il mio problema è stato risolto svuotando la cache degli oggetti del mio sito web principale.

2 Mi Piace

Hai configurato l’impostazione “Abilita webhook di Discourse”?

Ho testato a fondo il plugin, corretto alcuni bug, due dei quali riguardavano il mancato aggiornamento della cache dell’output dello shortcode, aggiornato il readme e rilasciato una nuova versione.

Vedo ancora un grosso problema in cui gli shortcode [discourse_topics] con categorie diverse non funzionano correttamente. Questo richiederà una notevole quantità di lavoro per essere risolto. Mi occuperò di questo subito dopo la mia imminente vacanza.

4 Mi Piace

Ho solo uno shortcode in uso in questa istanza, quindi non sono sicuro se dovrei avere problemi. Vorrei mostrare argomenti privati, ma solo di determinate categorie (che sono raccolte sotto un’unica categoria padre). Né l’ID della singola categoria padre (ad esempio, [discourse_topics category="5" ... ]) né ciascuno degli ID delle sottocategorie (ad esempio, [discourse_topics category="6,7,8,9,17" ... ]) sembrano limitare i risultati a queste categorie (vengono mostrati argomenti privati aggiuntivi che non dovrebbero esserlo). Mi chiedo se questo sia il comportamento attualmente previsto (che affronterete)?

Non è possibile specificare più ID di categoria.

In effetti, questo non è il comportamento previsto.

Una soluzione rapida potrebbe essere quella di disattivare la casella di controllo Mostra argomenti privati nella scheda delle impostazioni. Ciò non risolverà il problema della selezione errata delle categorie, ma impedirà la visualizzazione degli argomenti privati in WordPress.

Puoi controllare i tuoi log sul lato Discourse e cercare la chiamata API che viene effettuata? La chiamata API verrà attivata quando modifichi e cambi la pagina sul lato WordPress.