Wp-discourse-shortcodes plugin

DiscourseのログにAPI呼び出しは見つかりませんでした。:woman_shrugging: しかし、良いニュースは、解決策が見つかったと思われることです。

元のショートコードは source="top" とその他のパラメータを使用していましたが、デフォルト設定のみを使用するように、ショートコードを徐々に単純化しました。WP管理画面のチェックボックスの文言から、source="latest" のみがWebhookを使用すると誤解していましたが、最新トピック用のWebhookを有効にし(さらに表示したいカテゴリにのみトリガーを制限しました)、その後親カテゴリを追加したところ、ショートコードがカテゴリ制限を尊重するようになりました!:tada: (キャッシュされたHTMLをWP管理画面からクリアしたり、サイトの他のキャッシュソースを使用したりしても、Webhookを有効にするまで source="latest" ではカテゴリ制限を尊重しませんでした。)

Webhook + source="latest" を使用して望ましい結果が得られた後、ソースを「top」に戻し、元のパラメータを少しずつ追加しました。今のところ、カテゴリ制限は尊重されています。Webhookは有効にしたままです。

もしWebhookが(リセットのようなものではなく)まだ役立っているのであれば、WP管理画面の文言を「最新トピックリストを更新するためにDiscourse Webhookを使用する」から「[discourse_topics]リストを更新するためにDiscourse Webhookを使用する」(または、トピックリストで使用しているソースに関係なく、Webhookが探している万能薬になる可能性が高いことを明確にするための他の何か)に変更することをお勧めします。:joy:

これは素晴らしいプラグインです。機能に関する質問が2つあります。

  1. template="complete" を使用した埋め込みスクリプトのように、投稿内に画像を表示することは可能ですか?

  2. ユーザー名を本名に置き換えることは可能ですか?

よろしくお願いいたします。

ネストされたカテゴリが表示されないというバグもあります。プライマリカテゴリ内のトピックのみが表示されます。
例を以下に示します。Generalですが、General >> News and Eventsは表示されません。

タイルと他のすべてのショートコード属性を削除しても、再度表示されません。

ライアンさん、トピックの画像プレビューや名前はプラグインの機能ではありませんが、これらのフィルターを使用して独自のフォーマットを適用し、それらの要素を追加できる可能性があります。

HTML出力を完全にオーバーライドするには、これらの2つのフィルターを使用します(つまり、add_filterの同等物)。

// 独自のフォーマットを使用するには false を返します
apply_filters( 'wpds_use_plugin_topiclist_formatting', true );

// discourse_topics データから独自の HTML 出力を返します
apply_filters( 'wpds_after_topiclist_formatting', $output, $discourse_topics, $args );

または、既存のHTMLに要素を追加します。

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

すみません、ネストされたカテゴリのトピックは表示されるが、そのカテゴリバッジは表示されないということでしょうか?

「いいね!」 1

ありがとうございます、アンガス。参考になります。

その通りです。トピックがネストされたカテゴリ内にある場合、バッジは表示されません。下のスクリーンショットは、バッジが表示されていないことを示しています。これは、「General >> News and Events」というネストされたカテゴリ内のトピックです。もしトピックのカテゴリを親の「General」カテゴリに変更すると、下の2番目のトピックのようにバッジが表示されます。

「いいね!」 1

ライアンさん、明確にしてくれてありがとう。来週その問題を確認して、また連絡します。

「いいね!」 1

ありがとうございます。参考までに、「ユーザー名」の代わりに「本名」属性を追加し、このリポジトリに変更を投稿しました。Gitにはかなり慣れていないため、適切なコミットチャネルに従わなかったことをお詫びしますが、誰かの役に立つなら変更はそこにあります。

「いいね!」 2

このプラグインの大きな問題は、依然としてカテゴリによる含める/除外ができないことです。プライベートメンバーシップベースのフォーラムでは、すべてのカテゴリが表示されるか、何も表示されないかのどちらかであり、スタッフのトピックを一般のメンバーに表示されないようにする方法がありません。

しかし、ajaxリクエストをコメントアウトし、Webhookに完全に依存するという簡単な回避策があるようです。Webhookでスタッフカテゴリを除外するようにトリガーを設定しています。

そして、これはajax呼び出しが最終的に行われるまで、新しいスタッフの議論を一時的にブロックするのに役立ちます。

では、ajax呼び出しをコメントアウトするだけでよいのでしょうか?

このアプローチが不適切になるような、見落としている点はありますか?

「いいね!」 1

Revisiting

:tada: WP Discourse Shortcodes プラグインに、(experimental) topic list filter feature のサポートが追加されたことをお知らせできることを嬉しく思います。 :confetti_ball:

source="latest" または source="top" の隣に、source="filter" を使用し、q パラメータにフィルタクエリを配置できるようになりました。例:

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

まず experimental_topics_filter 設定を有効にすることを忘れないでください!

いくつかのバグも修正しました:

  • キャッシングを完全に再構築しました(これにより id 属性の必要性もなくなります)
  • 非英語フォーラムでユーザー名が表示されていませんでした
  • latest-AJAX にカテゴリフィルタを追加しました

プラグインはまだ Wordpress プラグインリポジトリにはありませんので、リポジトリから git clone してください。

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

または、この ZIP ファイルをアップロードしてインストールすることもできます。
wp-discourse-shortcodes-0.40.zip (67.6 KB)

「いいね!」 5

これはすごい!素晴らしい仕事をしてくれてありがとう。まったく新しい可能性が開けますね :heart:

「いいね!」 1

ここで何とかついていこうとしていますが、これが現在の機能なのかどうかを見つけられません。

— すべて/任意のカテゴリとトピックにわたる最近の投稿を表示したい —

表示したい情報は次のとおりです。

  • ユーザー名 / 投稿日
  • トピックのタイトル
  • カテゴリのタイトル
  • 抜粋(45文字)
  • いいね(返信も?)

これが可能かどうか、誰か知っていますか?

プラグインはDiscourseが提供するものを使用しているため、他の投稿のトピックでその質問を続けてください。こちらで。

少し遅くなりましたが、ありがとうございます!

「いいね!」 1