Wp-discourse-shortcodes plugin

整理したと思います。[discourse_latest] 自体は正しいショートコードではなく、どこかで見たような気がしていました。[discourse_topics source=“latest”] に変更したら動作しました。

照れ笑い
Ray

追伸:ショートコードに表示される最新トピックの日付形式をどのように変更できますか?@simon。現在は 2020-10-20 と表示されますが、Oct-20 のような形式を希望しています。

「いいね!」 1

ショートコードプラグインは、WP Discourse コメントオプションタブで設定されている日付時間形式を使用しているはずです。その設定の説明にあるリンクをクリックして、日付の形式設定可能なオプションを確認してください。

これでうまくいきました、ありがとうございます!

レイ

「いいね!」 1

デフォルトでユーザー名をアバターのタイトルとして追加するか、ショートコードのオプションとして追加していただけますでしょうか。また、ユーザー名を非表示にするオプション(display_usernames = “false” など)もあればと思います。

当面の間、これを必要とする方は wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php に移動し、

$avatar_image = '<img class="wpds-latest-avatar" src="' . esc_url_raw( $poster_avatar_url ) . '">';

$avatar_image = '<img class="wpds-latest-avatar" title="'. esc_html( $poster_username ) . '" src="' . esc_url_raw( $poster_avatar_url ) . '">';

に置き換えてください。

素晴らしいプラグインです。ありがとうございます!

また、ショートコード内でカテゴリのリンク(詳細はこちら)をオプションとして追加できるのも便利でしょう。

このプラグインは現在もメンテナンスされていますか? :smiley:

はい、現在、私たち(Communiteq)がこれを維持しています。

「いいね!」 2

Discourse の最新投稿が「更新」されないようです。

何か間違っているのでしょう。

使用しているショートコードは [discourse_topics source="latest"] です。

Discourse から 3 つのトピックを取得しましたが、その後、WordPress サイトで新しいトピックが取得されるか確認するために、さらにトピックを追加しました。

しかし、反映されませんでした。

Ajax イベントも試しましたが、それでも新しい投稿が取得されないようです :sweat:

特定のカテゴリまたはサブカテゴリからのトピックのみを取得することは可能ですか?

このプラグインの管理、ありがとうございます。WordPress のメインサイトでフォーラムのアクティビティを表示させたいと考えています。

Discourse インスタンスには多くのトピックがありますが、[discourse_topics] ショートコードはデータがないかのように空白を返してしまいます - Screenshot - b9160f714e42b2677b01bcf00c041634 - Gyazo

また、フロントエンドで以下のエラーが発生します: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

参考になればと思い書きますが、コミュニティの RSS フィードは正常に動作し、すべてのトピックをリストしています。何が足りないのでしょうか?ご助力をお願いします :pray:

編集と更新:どうやらコード内で $topics 変数が値で埋められていないようです。

Line 94: foreach ( $topics as $topic ) {
.....
}

//Topic variable definition
if ( $use_plugin_formatting ) {
		$topics            = $discourse_topics['topic_list']['topics'];
}

わかりました。非公開の投稿を表示するチェックボックスがオンになっていませんでした。それ以外に、$topics 変数の null 値に対する条件を追加することでエラーを解決できます。それを行なったところ、問題なく動作しました。

「いいね!」 1

もし PHP の foreach が空配列について文句を言わなければ、私の人生はずっと良くなるのに。
次のバージョンでこのチェックを追加します。

「いいね!」 1

Discourse でユーザーの最新の WordPress プロフィール画像を更新するオプションはありますか?

2 つのサイト間で連携して機能するよう作成した Webhook を使用してユーザーデータを Discourse と同期していますが、Discourse ユーザーのプロフィール画像は更新されません。

@RGJ
リチャード様

最新バージョンのプラグインを使用していますが、残念ながら動作しません。

ニックと同じ問題を抱えています。

Discourseから最新の投稿を「リフレッシュ」していないようです。

何か間違っているに違いありません。

[discourse_topics source=“latest”] これが使用しているショートコードです。

Discourseから3つのトピックを取得しましたが、それ以降、WordPressサイトに表示されるか確認するために、さらにトピックを追加しました。

表示されていません。

Ajaxイベントを試しましたが、それでも新しい投稿が表示されないようです :sweat:


こちらでサポートしていただけますでしょうか?

これはついに私のリストの最上位に来たので、明日このプラグインに取り組み、いくつかのバグを修正し、ご質問にお答えします。長い遅延をお詫び申し上げます。

「いいね!」 3

ありがとうございます。大変助かりました。

なお、私の問題はメインウェブサイトのオブジェクトキャッシュをフラッシュすることで解決しました。

「いいね!」 2

「Discourse Webhookを有効にする」設定を構成しましたか?

プラグインのテストを徹底的に行い、いくつかのバグを修正しました。そのうち2つは、ショートコードの出力キャッシュの更新に失敗するというものでした。READMEを更新し、新しいバージョンをプッシュしました。

[discourse_topics] ショートコードで異なるカテゴリを使用した場合に正しく機能しないという大きな問題がまだ1つ残っています。この修正にはかなりの作業が必要になります。休暇明けすぐにこの問題に取り組みます。

「いいね!」 4

このインスタンスではショートコードを 1 つしか使用していないため、問題が発生しているかどうかはわかりません。プライベートトピックを表示したいのですが、特定のカテゴリ(単一の親カテゴリの下に収集されている)のみを表示したいと考えています。単一の親カテゴリ ID(例:[discourse_topics category="5" ... ])または各サブカテゴリ ID(例:[discourse_topics category="6,7,8,9,17" ... ])のいずれも、これらのカテゴリに結果を制限していないようです(表示されるべきではない追加のプライベートトピックが表示されています)。これは現在予期される動作(対処される予定の動作)でしょうか?

複数のカテゴリIDはサポートされていません。

それは確かに予期しない動作です。

簡単な修正策として、設定タブの「プライベートトピックを表示する」のチェックを外すことが考えられます。これにより、WordPressにプライベートトピックが表示されなくなりますが、間違ったカテゴリが選択されている問題は解決しません。

Discourse側のログを確認し、行われているAPIコールを検索していただけますか?APIコールは、WordPress側でページを編集して変更したときにトリガーされます。