Plugin wp-discourse-shortcodes

Non sono riuscito a trovare alcuna chiamata API nei log di Discourse. :woman_shrugging: Tuttavia, la buona notizia è che penso di averlo risolto.

Lo shortcode originale utilizzava source="top" e altri parametri, quindi ho gradualmente ridotto lo shortcode fino a quando non ha utilizzato solo le impostazioni predefinite per omissione. Avevo l’impressione che solo source="latest" utilizzasse un webhook secondo il linguaggio della casella di controllo nelle impostazioni di amministrazione di WP, ma abbiamo abilitato un webhook per gli argomenti più recenti (e inoltre abbiamo limitato il trigger solo alle categorie che volevamo mostrare) e poi, quando ho riaggiunto la categoria padre, lo shortcode ha iniziato a rispettare le restrizioni di categoria! :tada: (Non ha rispettato la restrizione di categoria nemmeno con source="latest" finché non ho abilitato il webhook, nonostante la pulizia della cache HTML tramite la pagina di amministrazione di WP e altre fonti di caching che abbiamo per il sito.)

Dopo aver visto i risultati desiderati utilizzando il webhook + source="latest", ho riportato la sorgente a “top” e poi ho riaggiunto gradualmente i parametri originali. Finora ha mantenuto il rispetto della restrizione di categoria. Ho lasciato abilitato il webhook.

Se il webhook è ciò che sta aiutando (ancora, e non solo qualcosa che è servito come sorta di reset), suggerisco di cambiare la dicitura della pagina di amministrazione di WP da “Utilizza un Webhook di Discourse per aggiornare l’elenco degli argomenti ‘più recenti’” a “Utilizza un Webhook di Discourse per aggiornare l’elenco [discourse_topics]” (o qualcos’altro per chiarire che non importa quale sorgente stai utilizzando nell’elenco degli argomenti, il webhook sarà probabilmente l’elisir risolutivo che stiamo cercando). :joy:

Questo è un ottimo plugin. Due domande sulle funzionalità:

  1. È possibile visualizzare immagini all’interno dei post, come con lo script di incorporamento che utilizza template=“complete”?..

  2. È possibile sostituire i nomi utente con i nomi reali?

Grazie mille

Inoltre, un bug con le categorie nidificate che non vengono visualizzate. Vengono visualizzati solo gli argomenti all’interno di una categoria primaria.
Vedi esempio sotto: Generale ma nessuna Notizie ed Eventi di Generale >>

e di nuovo con le tessere e tutti gli altri attributi dello shortcode rimossi..

Ehi Ryan, né le anteprime delle immagini degli argomenti né i nomi sono funzionalità del plugin, tuttavia puoi usare questi filtri per applicare la tua formattazione e per aggiungere eventualmente quegli elementi.

Per sovrascrivere completamente l’output HTML usa questi due filtri (cioè gli equivalenti di add_filter)

// Restituisci false per usare la tua formattazione
apply_filters( 'wpds_use_plugin_topiclist_formatting', true );

// Restituisci il tuo output HTML dai dati di discourse_topics
apply_filters( 'wpds_after_topiclist_formatting', $output, $discourse_topics, $args );

Oppure aggiungi elementi aggiuntivi nell’HTML esistente

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

Scusa, intendi che l’argomento di una categoria nidificata viene visualizzato, ma non il suo badge di categoria?

1 Mi Piace

Molte grazie, Angus. È utile.

Corretto. Se un topic risiede in una categoria nidificata, il badge non verrà visualizzato. Lo screenshot qui sotto mostra il badge mancante. Questo è un topic all’interno della categoria nidificata Generale >> Notizie ed eventi. Se cambiassi la categoria del topic alla categoria padre ‘Generale’, il badge verrebbe visualizzato come il secondo topic sottostante..

1 Mi Piace

Grazie per il chiarimento Ryan, darò un’occhiata a quel problema la prossima settimana e ti farò sapere.

1 Mi Piace

Grazie. FWIW, ho aggiunto un attributo “nome reale” per sostituire i nomi utente e ho pubblicato le mie modifiche all’interno di questo repository. Sono abbastanza nuovo a git, quindi mi scuso se non ho seguito i canali di commit corretti, ma le modifiche sono lì se mai utili a qualcun altro.

2 Mi Piace

Il problema principale di questo plugin rimane l’impossibilità di includere/escludere per categoria. In un forum privato basato su abbonamento, vedi tutte le categorie o nessuna, il che significa che non c’è modo di escludere gli argomenti dello staff dall’essere mostrati alla base di membri più ampia.

Tuttavia, sembra che una facile soluzione alternativa potrebbe essere quella di commentare la richiesta ajax e fare affidamento esclusivamente sul webhook. Abbiamo impostato dei trigger per escludere la categoria dello staff nel webhook..

E questo funziona per bloccare temporaneamente le nuove discussioni dello staff fino a quando la chiamata ajax non verrà eventualmente effettuata.

Quindi, forse basta commentare la chiamata ajax?..

Sto trascurando qualcosa che renderebbe questo approccio sconsigliabile?

1 Mi Piace

Riesaminando

:tada: Sono felice di annunciare che il plugin WP Discourse Shortcodes ora supporta la (sperimentale) funzionalità di filtro dell’elenco degli argomenti. :confetti_ball:

Oltre a source="latest" o source="top", ora puoi usare source="filter" e inserire la query di filtro nel parametro q, in questo modo

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

Non dimenticare di abilitare prima l’impostazione experimental_topics_filter!

Ho anche corretto alcuni bug:

  • memorizzazione nella cache completamente rielaborata (questo rimuove anche la necessità di avere un attributo id)
  • i nomi utente non venivano visualizzati nei forum non in lingua inglese
  • aggiunta del filtro per categoria a latest-AJAX

Il plugin non è ancora nel repository dei plugin di WordPress, quindi dovresti clonarlo dal repository

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

o in alternativa carica questo file ZIP per installarlo.
wp-discourse-shortcodes-0.40.zip (67,6 KB)

5 Mi Piace

Questo è enorme! Grazie per l’ottimo lavoro, questo apre un intero nuovo set di possibilità :heart:

1 Mi Piace

Sto cercando di seguire, ma non riesco a capire se questa è una funzionalità attuale.

— Voglio visualizzare POST RECENTI in tutte/qualsiasi categoria e argomento. —

Le informazioni che vorrei visualizzare sono:

  • Nome utente / Data di pubblicazione
  • Titolo degli argomenti
  • Titolo della categoria
  • Estratto (45 caratteri)
  • Mi piace (e forse risposte?)

Qualcuno sa se è possibile?

Il plugin utilizza ciò che viene fornito da Discourse, quindi continua quella domanda nell’argomento del tuo altro post qui.

Un po’ in ritardo, ma grazie!

1 Mi Piace