Wordpressコメント *と* Discourseの併用

「Discourse に公開する」を選択すると、Ajax を使用しないように設定し、WordPress コメントを削除しないように選択した場合でも、WordPress のコメント送信ボックスが消えてしまうようです。WordPress コメントと Discourse にリンクされたディスカッションの両方を訪問者が残せるようにすることは可能でしょうか?

以下を参考にします。

こんにちは、@Kayla さん。お使いの WordPress テーマはブロックテーマですか、それとも「クラシック」テーマですか?

これを実現する推奨方法は、ブロックテーマを使用することです。そうすれば、どのコメントブロックをどこに配置するかを完全に制御でき、どのテンプレートがどのテンプレートを上書きしているかを気にする必要がなくなります。たとえば、WordPress の現在のデフォルトテーマ(Twenty Twenty Four)でのこのコメントブロック構成(WordPress コメントの後に Discourse コメント)は、

次のような結果になります。

「いいね!」 1

素晴らしい!デモまで用意してくれて、最高ですね。:heart:

残念ながら、対象のサイトは「クラシック」なGenesis Frameworkのテーマを使用しており、さらに残念なことに、Toolset のアーカイブテンプレートを多用しています。これは、現時点ではサイトエディター/FSEテーマでは再現できません。

さらに色々試してみたのですが、Discourseの返信(最初に)とWPのコメント(投稿フォームを含む!)の両方が表示されるようです。ただし、WPのコメントがDiscourseに投稿される前に少なくとも1つ存在する場合に限ります。しかし、すぐにDiscourseに投稿/リンクすると、WPのコメント機能は消えてしまいます。ブロックテーマでも同様なのか気になります。デモではWPのコメントが表示されていますが、Discourseに投稿する前と後、どちらで追加されましたか?

興味深いことに、そのように機能するように設計されているようです。これは、読みやすい名前を付けた関連ロジックです(実際のコードの代わりに)。

if ("既存のWPコメントを表示する"が無効になっているか、Wordpressコメントがない場合) {
  Discourseコメントのみを返す
} else {
  Discourseコメントの後にWordpressコメントを返す
}

もしそれがお役に立つなら、条件の「またはWordpressコメントがない」の部分は安全に削除できると思いますか?

ブロックテーマでは、コメントの種類やタイミングは何も影響しません。各ブロックは独立した要素であるため、表示されるものが得られます。

「いいね!」 1

プラグイン自体を編集する必要がある(そしてアップデートのたびに編集する必要がある)のでしょうか、それともこのif-else文にフックしてIFの部分を変更する方法があるのでしょうか?これがまさにターゲットにすべきもののようです。

プラグイン自体で削除することを検討します。しばらくお待ちください。お知らせします。

編集:この変更はプラグインの次のバージョン(2.5.4)に含まれます。

「いいね!」 2

2.5.4 以降、このプラグインは WordPress コメントを表示するために、少なくとも 1 つの既存のコメントを必要としなくなりました。

「いいね!」 1

最新バージョンで、クラシックテーマでWPとDiscourseのコメントを並べて表示できるようになったことを確認しました。本当にありがとうございます!

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.