Discourseへのトピック表示回数の同期方法

皆さん、こんにちは。

Wordpressで使用するために、Discourse APIを使用してVUE SPAを構築しました。Wordpressでトピックを開いたときに、トピックのビュー数をDiscourseにPOSTリクエストで送信する方法はありますか?

「いいね!」 2

Alexさん、こんにちは。

これについてもう少し詳しく知りたいのですが、何か共有していただけますか?

WP Discourse プラグインによってプルされた投稿を表示しても、Discourse で新しいビューは作成されません。ただし、topics_controller の標準の show エンドポイントを使用し、以下で強調表示されているチェックを渡すと、「ビュー」が追跡されます。API キーを使用すると、current_user が存在することに注意してください。

注意

このコードを読む際に注意すべき点は、TopicView は実際には探しているものではないということです(トピックが表示されたときにシリアル化されるデータを処理するモデルです)。実際の「トピックビュー」モデルは TopicViewItem です。

「いいね!」 3

こんにちは @angus さん

ご意見ありがとうございます。トピックビューのコードベースを確認します。

SPAアプリについてですが、

元々はWordPressにフォーラムプラグインがあり、質問と回答、カテゴリ、タグに独自の投稿タイプを作成していました。WP DiscourseプラグインでSSOを設定した際、DiscourseでWebhooksを有効にして、その投稿タイプでトピックをWordPressに同期し、回答には埋め込みを使用しました。

この時点で、フォーラムのフロントエンドは、各質問アイテムがWPデータに依存しているため、タイトルと作成者しか表示できず、投稿者、表示回数、いいね、返信のステータスも表示したいと考えていました。そのプラグインを修正するのは理にかなっていませんでした。

SPAを使用すれば、データの取得と表示ははるかに高速で柔軟になります。ページネーションされた最新トピックと、フィルター/検索機能を含むトップトピックのサイドバーが表示されます。

当初、トピック詳細ビューで回答/返信も表示したいと考えていました。何らかの理由で、埋め込まれた返信は投稿者のフルネームではなくユーザー名を表示していました

また、絵文字やその他のアセットがDiscourseサイトに相対的であるという問題にも遭遇したため、埋め込みに固執することにしました。

別の問題はSEOでしたが、WordPressのwp_headフックで対応できました。

「いいね!」 1