Wp-discourse-shortcodes Plugin

Ich konnte keine API-Aufrufe in den Discourse-Protokollen finden. :woman_shrugging: Die gute Nachricht ist jedoch, dass wir das Problem wahrscheinlich gelöst haben.

Der ursprüngliche Shortcode verwendete source="top" und einige andere Parameter. Ich habe den Shortcode langsam reduziert, bis er nur noch Standardeinstellungen durch Weglassen verwendete. Ich war der Meinung, dass nur source="latest" einen Webhook gemäß der Beschreibung des Kontrollkästchens in den WP-Admin-Einstellungen verwendet. Wir haben jedoch einen Webhook für die neuesten Themen aktiviert (und zusätzlich den Auslöser auf die gewünschten Kategorien beschränkt) und dann, als ich die übergeordnete Kategorie wieder hinzufügte, respektierte der Shortcode die Kategoriebeschränkungen! :tada: (Er respektierte die Kategoriebeschränkung mit source="latest" erst, nachdem ich den Webhook aktiviert hatte, obwohl der HTML-Cache über die WP-Admin-Seite und andere Caching-Quellen der Website geleert wurde.)

Nachdem ich die gewünschten Ergebnisse mit dem Webhook + source="latest" gesehen hatte, habe ich die Quelle wieder auf “top” geändert und dann die ursprünglichen Parameter nach und nach wieder hinzugefügt. Bisher hat es die Kategoriebeschränkung beibehalten. Ich habe den Webhook aktiviert gelassen.

Wenn der Webhook das ist, was (immer noch) hilft und nicht nur eine Art Zurücksetzung war, schlage ich vor, die Formulierung auf der WP-Admin-Seite von “Verwende einen Discourse Webhook, um die Liste der ‘neuesten’ Themen zu aktualisieren” in “Verwende einen Discourse Webhook, um die [discourse_topics] Liste zu aktualisieren” (oder etwas anderes, um klarzustellen, dass es egal ist, welche Quelle Sie in der Themenliste verwenden, der Webhook wahrscheinlich das Allheilmittel ist, nach dem wir suchen) zu ändern. :joy:

Dies ist ein großartiges Plugin. Zwei Funktionsfragen:

  1. Ist es möglich, Bilder in den Beiträgen anzuzeigen, wie mit dem Embed-Skript mit template=“complete”?..

  2. Ist es möglich, Benutzernamen durch echte Namen zu ersetzen?

Vielen Dank im Voraus.

Auch ein Fehler bei verschachtelten Kategorien, die nicht angezeigt werden. Es werden nur Themen innerhalb einer Hauptkategorie angezeigt.
Siehe Beispiel unten: Allgemein, aber keine Allgemein >> Nachrichten und Veranstaltungen

und wieder mit Kacheln und allen anderen Attributen des Shortcodes entfernt..

Hallo Ryan, weder Vorschaubilder noch Namen von Themen sind Funktionen des Plugins. Sie können jedoch diese Filter verwenden, um Ihre eigene Formatierung anzuwenden und diese Elemente möglicherweise hinzuzufügen.

Um die HTML-Ausgabe vollständig zu überschreiben, verwenden Sie diese beiden Filter (d. h. die Äquivalente von add_filter)

// Rückgabe von false, um Ihre eigene Formatierung zu verwenden
apply_filters( 'wpds_use_plugin_topiclist_formatting', true );

// Rückgabe Ihrer eigenen HTML-Ausgabe aus den discourse_topics-Daten
apply_filters( 'wpds_after_topiclist_formatting', $output, $discourse_topics, $args );

Oder fügen Sie zusätzliche Elemente in das vorhandene HTML ein

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

Entschuldigen Sie, meinen Sie, dass das Thema einer verschachtelten Kategorie angezeigt wird, aber nicht sein Kategorie-Badge?

1 „Gefällt mir“

Vielen Dank, Angus. Das ist hilfreich.

Korrekt. Wenn sich ein Thema in einer verschachtelten Kategorie befindet, wird das Badge nicht angezeigt. Der Screenshot unten zeigt das fehlende Badge. Dies ist ein Thema innerhalb der verschachtelten Kategorie Allgemein >> Nachrichten und Veranstaltungen. Wenn ich die Kategorie des Themas auf die übergeordnete Kategorie „Allgemein“ ändern würde, würde das Badge wie im zweiten Thema unten angezeigt werden.

1 „Gefällt mir“

Danke für die Klarstellung, Ryan. Ich werde mir das Problem nächste Woche ansehen und mich bei Ihnen melden.

1 „Gefällt mir“

Danke. FWIW, ich habe ein “real name”-Attribut hinzugefügt, um Benutzernamen zu ersetzen, und meine Änderungen in diesem Repository gepostet. Ich bin ziemlich neu bei Git, daher entschuldige ich mich, dass es nicht den richtigen Commit-Kanälen gefolgt ist, aber die Änderungen sind da, falls sie jemand anderem jemals hilfreich sind.

2 „Gefällt mir“

Das Hauptproblem mit diesem Plugin ist nach wie vor die Unfähigkeit, nach Kategorie ein- oder auszuschließen. In einem privaten Forum, das auf Mitgliedschaft basiert, sehen Sie entweder alle Kategorien oder gar keine, was bedeutet, dass es keine Möglichkeit gibt, Mitarbeiterthemen von der breiteren Mitgliedschaft auszuschließen.

Es scheint jedoch eine einfache Problemumgehung zu geben, indem die Ajax-Anfrage auskommentiert und ausschließlich auf den Webhook zurückgegriffen wird. Wir haben Trigger eingerichtet, um die Mitarbeiterkategorie im Webhook auszuschließen.

Und das funktioniert, um neue Mitarbeiterthemen vorübergehend zu blockieren, bis der Ajax-Aufruf schließlich erfolgt.

Vielleicht sollten Sie also einfach den Ajax-Aufruf auskommentieren?

Übersehe ich etwas, das diesen Ansatz unratsam machen würde?

1 „Gefällt mir“

Erneute Prüfung

:tada: Ich freue mich, Ihnen mitteilen zu können, dass das WP Discourse Shortcodes Plugin jetzt die (experimentelle) Themenlistenfilterfunktion unterstützt. :confetti_ball:

Neben source="latest" oder source="top" können Sie jetzt source="filter" verwenden und die Filterabfrage im Parameter q angeben, wie hier:

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

Vergessen Sie nicht, zuerst die Einstellung experimental_topics_filter zu aktivieren!

Ich habe auch einige Fehler behoben:

  • Caching komplett überarbeitet (dadurch entfällt auch das id-Attribut)
  • Benutzernamen wurden in nicht-englischen Foren nicht angezeigt
  • Kategoriefilter zu latest-AJAX hinzugefügt

Das Plugin ist noch nicht im Wordpress-Plugin-Repository, daher sollten Sie es aus dem Repository klonen:

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

Oder laden Sie alternativ diese ZIP-Datei hoch, um es zu installieren.
wp-discourse-shortcodes-0.40.zip (67,6 KB)

5 „Gefällt mir“

Das ist riesig! Danke für die tolle Arbeit, das eröffnet eine ganz neue Reihe von Möglichkeiten :heart:

1 „Gefällt mir“

Ich versuche, dem hier zu folgen, kann aber nicht herausfinden, ob dies eine aktuelle Funktion ist.

– Ich möchte AKTUELLE BEITRÄGE aus allen/jeder Kategorie und jedem Thema anzeigen. —

Die Informationen, die ich anzeigen möchte, sind:

  • Benutzername / Datum gepostet
  • Titel der Themen
  • Titel der Kategorie
  • Auszug (45 Zeichen)
  • Likes (und vielleicht Antworten?)

Weiß jemand, ob das möglich ist?

Das Plugin verwendet, was von Discourse bereitgestellt wird. Bitte stellen Sie diese Frage im Thema Ihres anderen Beitrags hier weiter.

Etwas spät dran, aber danke!

1 „Gefällt mir“