Plugin Wp-discourse-shortcodes

Não consegui encontrar nenhuma chamada de API nos logs do Discourse. :woman_shrugging: No entanto, a boa notícia é que acho que podemos ter resolvido.

O shortcode original estava usando source="top" e alguns outros parâmetros, então eu lentamente reduzi o shortcode até que ele estivesse usando apenas as configurações padrão por omissão. Eu tinha a impressão de que apenas source="latest" usava um webhook de acordo com a linguagem da caixa de seleção nas configurações de administrador do WP, mas habilitamos um webhook para os tópicos mais recentes (e adicionalmente restringimos o gatilho apenas para as categorias que queríamos mostrar) e então, quando adicionei a categoria pai de volta, o shortcode começou a respeitar as restrições de categoria! :tada: (Ele não respeitou a restrição de categoria com source="latest" até que habilitamos o webhook, apesar de limpar o HTML em cache através da página de administração do WP e outras fontes de cache que temos para o site.)

Depois de ver os resultados desejados usando o webhook + source="latest", mudei a origem de volta para “top” e então adicionei os parâmetros originais de volta aos poucos. Até agora, ele manteve o respeito à restrição de categoria. Deixei o webhook habilitado.

Se o webhook é o que está ajudando (ainda, e não apenas algo que serviu como um reset, por assim dizer), sugiro mudar a redação da página de administração do WP de “Use um Webhook do Discourse para atualizar a lista de tópicos ‘mais recentes’” para “Use um Webhook do Discourse para atualizar a lista [discourse_topics]” (ou algo mais para deixar claro que não importa qual fonte você está usando na lista de tópicos, o webhook provavelmente será o elixir de cura que estamos procurando). :joy:

Este é um ótimo plugin. Duas perguntas sobre recursos:

  1. É possível exibir imagens dentro das postagens, como com o script de incorporação usando template=“complete”?

  2. É possível trocar nomes de usuário por nomes reais?

Muito obrigado.

Também um bug com categorias aninhadas que não são exibidas. Apenas tópicos dentro de uma categoria principal aparecem.
Veja o exemplo abaixo: General, mas sem General >> Notícias e Eventos

e novamente com tiles e todos os outros atributos de shortcode removidos..

Olá Ryan, nem as pré-visualizações de imagens de tópicos nem os nomes são recursos do plugin, no entanto, você pode usar estes filtros para aplicar sua própria formatação e possivelmente adicionar esses elementos.

Para substituir completamente a saída HTML, use estes dois filtros (ou seja, os equivalentes de add_filter)

// Retorne false para usar sua própria formatação
apply_filters( 'wpds_use_plugin_topiclist_formatting', true );

// Retorne sua própria saída HTML dos dados discourse_topics
apply_filters( 'wpds_after_topiclist_formatting', $output, $discourse_topics, $args );

Ou adicione elementos adicionais ao HTML existente

apply_filters( 'wpds_topiclist_above_header', $output, $topic, $category, $poster_avatar_url, $args );
apply_filters( 'wpds_topiclist_above_footer', $output, $topic, $category, $poster_avatar_url, $args );
apply_filters( 'wpds_topiclist_avatar', $avatar_image, esc_url_raw( $poster_avatar_url ) );
apply_filters( 'wpds_topiclist_below_footer', $output, $topic, $category, $args );

Desculpe, você quer dizer que o tópico de uma categoria aninhada está sendo exibido, mas não o seu distintivo de categoria?

1 curtida

Muito obrigado, Angus. Isso é útil.

Correto. Se um tópico reside em uma categoria aninhada, o selo não será exibido. A captura de tela abaixo mostra o selo ausente. Este é um tópico dentro da categoria aninhada Geral >> Notícias e Eventos. Se eu alterasse a categoria do tópico para a categoria pai ‘Geral’, o selo seria exibido como o segundo tópico abaixo…

1 curtida

Obrigado pelo esclarecimento, Ryan, vou analisar essa questão na próxima semana e entrarei em contato.

1 curtida

Obrigado. Para sua informação, adicionei um atributo de “nome real” para substituir nomes de usuário e postei minhas alterações neste repositório. Sou bem novo no git, então peço desculpas se não segui os canais de commit adequados, mas as alterações estão lá, caso sejam úteis para alguém.

2 curtidas

O grande problema com este plugin ainda é a incapacidade de incluir/excluir por categoria. Em um fórum privado baseado em associação, você vê todas as categorias ou nenhuma, o que significa que não há como excluir tópicos da equipe de serem mostrados para a base de membros em geral.

No entanto, parece que uma solução fácil poderia ser comentar a solicitação ajax e confiar exclusivamente no webhook. Temos gatilhos configurados para excluir a categoria da equipe no webhook..

E isso funciona para bloquear temporariamente novas discussões da equipe até que a chamada ajax seja feita eventualmente.

Então, talvez apenas comentar a chamada ajax?..

Estou ignorando algo que tornaria essa abordagem desaconselhável?

1 curtida

Revisitar

:tada: Tenho o prazer de anunciar que o plugin WP Discourse Shortcodes agora tem suporte para o (experimental) recurso de filtro de lista de tópicos. :confetti_ball:

Ao lado de source="latest" ou source="top", você agora pode fazer source="filter" e colocar a consulta de filtro no parâmetro q, assim

[discourse_topics source="filter" q="category:general,site-feedback"]

Não se esqueça de habilitar a configuração experimental_topics_filter primeiro!

Também corrigi alguns bugs:

  • cache completamente refeito (isso também remove a necessidade de ter um atributo id)
  • nomes de usuário não estavam sendo exibidos em fóruns não ingleses
  • adicionar filtro de categoria ao latest-AJAX

O plugin ainda não está no repositório de plugins do WordPress, então você deve cloná-lo do repositório

cd wp-content/plugins
git clone https://github.com/communiteq/wp-discourse-shortcodes

ou alternativamente fazer o upload deste arquivo ZIP para instalá-lo.
wp-discourse-shortcodes-0.40.zip (67,6 KB)

5 curtidas

Isso é enorme! Obrigado pelo ótimo trabalho, isso abre um conjunto totalmente novo de possibilidades :heart:

1 curtida

Estou tentando acompanhar, mas não consigo descobrir se esta é uma capacidade atual.

— Quero exibir POSTAGENS RECENTES em todas/qualquer categoria e tópico. —

As informações que eu gostaria de exibir são:

  • Nome de usuário / Data de postagem
  • Título dos Tópicos
  • Título da Categoria
  • Trecho (45 caracteres)
  • Curtidas (e talvez respostas?)

Alguém sabe se isso é possível?

O plugin usa o que é fornecido pelo Discourse, então por favor, continue essa pergunta no tópico de sua outra postagem aqui.

Um pouco atrasado para a festa, mas obrigado!

1 curtida