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 curtida

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 curtida

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 curtidas

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 curtida

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 curtida

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
Olá Richard,
Estou usando a versão mais recente deste plugin, mas infelizmente ele não funciona.
Tenho o mesmo problema que Nick:
Parece não ‘atualizar’ os posts mais recentes do Discourse.
Devo estar fazendo algo errado,
[discourse_topics source=“latest”] este é o shortcode que estou usando.
Ele puxou três tópicos do Discourse, mas desde então adicionei mais tópicos para ver se eles aparecem no meu site WordPress.
Eles não apareceram.
Tentei o evento Ajax e ainda assim não parece puxar novos posts :sweat:

Você poderia me ajudar aqui, por favor?

Isso finalmente está no topo da minha lista, então estarei trabalhando neste plugin amanhã, corrigindo alguns bugs e respondendo às suas perguntas. Desculpe pela longa demora.

3 curtidas

Obrigado, muito apreciado.

Por favor, observe que meu problema foi corrigido limpando o cache de objetos do meu site principal.

2 curtidas

Você configurou a configuração “Habilitar Discourse Webhook”?

Eu testei completamente o plugin, corrigi alguns bugs, dois deles relacionados à falha na atualização do cache da saída do shortcode, atualizei o readme e enviei uma nova versão.

Ainda vejo um grande problema onde os shortcodes [discourse_topics] com categorias diferentes não funcionam corretamente. Isso exigirá bastante trabalho para ser corrigido. Abordarei isso logo após minhas próximas férias.

4 curtidas

Eu tenho apenas um shortcode em uso nesta instância, então não tenho certeza se devo ter problemas. Eu gostaria de mostrar tópicos privados, mas apenas de certas categorias (que são coletadas sob uma única categoria pai). Nem o ID da categoria pai única (por exemplo, [discourse_topics category="5" ... ]) nem cada um dos IDs das subcategorias (por exemplo, [discourse_topics category="6,7,8,9,17" ... ]) parecem limitar os resultados a essas categorias (tópicos privados adicionais são mostrados que não deveriam ser). Gostaria de saber se este é o comportamento esperado atualmente (que vocês abordarão)?

Vários IDs de categoria não são suportados.

Esse realmente não é o comportamento esperado.

Uma correção rápida seria desativar a opção Exibir Tópicos Privados na aba de configurações. Isso não resolverá o problema da(s) categoria(s) incorreta(s) sendo selecionada(s), mas impedirá que os tópicos privados apareçam no WordPress.

Você poderia verificar seus logs no lado do Discourse e procurar pela chamada de API que está sendo feita? A chamada de API será acionada quando você editar e alterar a página no lado do WordPress.