現在、WordPressとDiscourseの連携方法は、すべての記事が非表示としてDiscourseに自動的に転送されるようになっています。議論が行われていない記事でさえもです。
WordPressは多くの「空の」トピックを作成するため、これは非常にリソースを大量に消費します。
WPからDiscourseに転送されるのは、議論が開始された記事のみにするための解決策を誰か考えられますか?
現在、WordPressとDiscourseの連携方法は、すべての記事が非表示としてDiscourseに自動的に転送されるようになっています。議論が行われていない記事でさえもです。
WordPressは多くの「空の」トピックを作成するため、これは非常にリソースを大量に消費します。
WPからDiscourseに転送されるのは、議論が開始された記事のみにするための解決策を誰か考えられますか?
Hey @Petr_Mišák 様
それを行うには、WordPressで作成されたコメントをDiscourseの投稿としてインポートする必要があります。これはWP Discourseプラグインでは不可能であり、近い将来サポートされる可能性は低いです。この件に関するより広範な考えについては、以下をご覧ください。
とはいえ、ActivityPubプラグインにDiscourseのカテゴリアクターが他のActivityPubアクターをフォローする機能(現在作業中です)を追加したら、WordPressのActivityPubプラグインを何らかの方法で設定してこれを実現できるかもしれません。ただし、これはかなり推測的なものです。
また、なぜこれが「リソースを大量に消費する」と考えるのか、もう少し理解したいと思います。エンゲージメントが得られない記事をたくさん公開している場合、エンゲージメントが得られそうな記事のサブセットをフォーラムに公開することを検討してみてはいかがでしょうか?逆に、返信のない多くの埋め込みトピックがあることは、観察した範囲でコミュニティに何らかの悪影響を与えていますか?根本的な問題を解決するために何かできることはありますか?
文脈として、あなたは多くの投稿を持つ人気のWordPressサイトを持っており、最近Discourseフォーラムを作成し、Discourse WordPressプラグインをあなたのウェブサイトに追加したと理解しています。
あなたのWordPressサイトにはいくつの投稿がありますか?古い投稿にはよくコメントがありますか、それとも通常は新しい投稿にしかコメントしませんか?
問題の解決策に関して、WordPressサイトにカスタムコードを追加する必要がある解決策を検討しますか、それともカスタムコードを必要としない方法のみに興味がありますか?
サイトの投稿が通常、公開後短期間しかコメントを受け取らない場合、最も簡単な解決策は、サイトの最新の投稿をDiscourseで公開することです。
次に簡単なことは、サイトにプラグインを追加して、WP Discourseの「ディスカッションを開始」リンクを変更することです。これにより、Discourseトピックへのリンクではなく、WP Discourseプラグインが投稿をDiscourseに公開するトリガーとなるリンクになります。これを実装する際の最も難しい部分は、最初に「ディスカッションを開始」リンクをクリックしたユーザーの場合をどのように処理するかを理解することです。トピックが公開されたら、そのユーザーは自動的にリダイレクトされるべきですか、トピックが公開されている間、彼らは何を見ますか、などです。
カスタムWordPressプラグインを必要としない別の可能な解決策ですが、おそらく高価な開発者の時間が必要になるかもしれませんが、サイトの既存のすべての投稿、コメント、ユーザーをDiscourseにインポートするインポートスクリプトを誰かに書いてもらうことです。これにより、空のトピックの問題が解決されます。このアプローチが取られた場合、WordPressサイトをDiscourseサイトのDiscourseConnectプロバイダーとして使用することを検討する価値があるかもしれません。これにより、インポートされたユーザーがDiscourseに簡単にアクセスできるようになります。
空のトピックは多くのリソースを消費しません。数万、あるいは数十万の話をしていますか?
私の翻訳ミスかもしれませんが、WordPressのコメントをDiscourseに投稿したいのではなく、WordPressの記事トピックについてDiscourseで議論したいだけです。
そのために、WordPressプラグインは、記事が公開された後に、公開された各記事に対してDiscourseに非表示のトピックを挿入する必要があります。
記事が公開されたときではなく、誰かがトピックについて議論することに関心を示したときに、WordPressの記事とDiscourseのコメント間のリンクが作成されることが、私には非常に気になります。
すべての記事のうち10%しかコメントがないのに、WordPressプラグインは公開されたすべての記事に対してDiscourseにリンクを作成します。したがって、このように作成されたリンクの90%は非表示のままで、不必要にリソースを消費するだけです。
毎日約13記事を公開しています。つまり、1年で13 * 365 = 4,745記事です。そして、そのうち4,270件はDiscourseシステムに非表示のトピックとして設定され、コメントが追加されることはありません。これは10年間で42,700件のゴミトピックになります。
解決策は、Discourseの非表示トピックがWordPressで記事が公開されたときに作成されるのではなく、WordPressの記事の下で誰かがコメントすることに関心を示したときにのみトピックが作成されることです。
そうすれば、非表示で未使用のスレッドをDiscourseに作成する必要がなくなります。
おっしゃる通りです。非常にアクセス数の多いWordPressサイトを運営していますが、ユーザーアカウント、ログイン、記事のコメントをすべてDiscourseに移行しています。WordPressは単なる「DiscourseConnectクライアント」になります。
1日に約13本の記事を公開しています ![]()
通常、新しい記事にコメントが寄せられますが、古い記事で議論が発展することも珍しくありません。公開後、記事は時間の経過とともに数回更新されます。記事に新しく追加された情報が議論を再燃させる可能性があります。
WordPressにコードを追加することは可能です。
現在のWordPressプラグインを使用して、2023年11月1日以降に公開された新しい記事のみをDiscourseに追加する予定ですが、これによりDiscourseに数千もの未使用トピックが作成されてしまいます。さらに、誰かが2015年の記事にコメントしたい場合、そのトピックはDiscourseに存在しないため、コメントする方法がありません。
トピックは、ユーザーが「記事の下で議論を開始する」をクリックしたときにのみ作成されると素晴らしいでしょう。
プロセス全体はどのように機能すると大まかに想像できますか?例を挙げて説明します(架空の例です)。
その後、誰かがWordPress記事の下にある「議論を開始する」ボタンをクリックします。
同じWordPress記事で誰かが「コメントを追加する」(別のコメント)をしたい場合:
JavaScriptを使用すると、「議論を開始」をクリックして最初のコメントを追加したい場合にのみ、Discourseに新しいトピックが作成されます。
おそらく、ソリューション全体を自分たちで作成できるでしょうが、現在WordPressプログラマーが不足しています。さらに、この機能が公式Discourseプラグインに直接含まれていると素晴らしいでしょう。
我々のケースでは、10年間で約5万件のトピックになります。
それはそれほど大きな問題ではありませんが、年に一度、数年古いものを削除することができます。
きれいにすれば意味が通るようになりますが、古い記事を更新し、公開からしばらく経ってから議論を活性化させるようにしています。そのため、削除は私たちのケースでは理想的な解決策ではありません。…
これはすべて理にかなっています。特に、以前に公開された記事を扱う上で。私の唯一の懸念は、カスタムコードに依存することで、WordPress/Discourseの統合に複雑さが加わることです。しかし、問題ないはずです。開発者はWP Discourseプラグインのアクションおよびフィルターフックを使用し、コアプラグインのコードを編集しないようにしてください。「ディスカッションを開始」リンクがクリックされたときに、パブリックなsync_to_discourseメソッドを呼び出す方法を見つける必要があります: wp-discourse/lib/sso-client/sso-client-base.php at main · discourse/wp-discourse · GitHub
素晴らしいですね!このDiscourseサイトを見る価値があるかもしれません: https://bbs.boingboing.net/c/boing/3。彼らはWordPressプラグインを使用して、同様の記事数をDiscourseに公開しています。彼らの場合、すべての新しい記事を自動的にDiscourseに公開しています。Discourseサイトをセットアップする前にWordPressで作成された記事は、Discourseに公開していません。
WordPressプラグインを上記のように変更してもらう開発者を見つけるのに適したフォーラムはありますか?
ありがとうございます。非常に迅速でした。元々はカテゴリで探していたのですが、そこでは見つけられませんでした。それが私を驚かせました。しかし、検索が役に立ちました。
Petrさん、詳しいご回答ありがとうございます。しかし、少し混乱しています。
WordPressのコメントを望まず、Discourseにまだトピックがない場合、どのようにして記事の議論に興味を示すのでしょうか?
編集:ああ、UXが提示されているのがわかりました。
はい、それはかなり実現可能です。
今考えてみると、これはプラグインのちょっとした欠点だと思います。これをもっと簡単に実行する方法がありません。ユーティリティ関数と、それに接続するショートコードとブロックを追加するのが理にかなっていると思います。現在のリリース後のリリースでこれを調査します。
Discourseの公式WordPressプラグインへのサポート追加は素晴らしいアイデアですね。プラグインのどのバージョンで、この新機能がいつ頃利用可能になるか、おおよその見込みはありますか?
来週からこれを着手し、2.5.1(次々回のリリース)に追加する予定です。@Petr_Mišák これであなたの目標を達成できるようになります。
素晴らしい、楽しみにしています。すでにメインサイト https://www.svetandroida.cz/ に Discourse をデプロイしています。