Discourse コメント欄が2つ表示される

2つのディスコースコメントボックスが表示されています。

プラットフォーム: WordPress
テーマ: Astra

以前はextolテーマを使用していましたが、その後astraに移行しました。astraサイトビルダーでコメントセクションのフックを追加し、表示条件で投稿の下に配置しました。

すべてのブログ投稿でコメントセクションは正常に表示されていますが、3つの投稿(ディスコースコメントセクションが2回表示されている)を除きます。

どなたか助けていただけませんか?

こんにちは、これはテーマの問題か、あるいは「Astra Site Builder」の使用方法に関連している可能性がありますが、それでもお手伝いさせていただきます。

これはどのような状況か、もう少し詳しく教えていただけますか?コードを使用しましたか?「Astra Site Builder」のドキュメントへのリンクはありますか?ブロックが有効なテーマですか?できるだけ多くの詳細を教えてください。

「いいね!」 1

迅速なご対応ありがとうございます、@angus様

実際、コードを編集してもコードは表示されず、テーマのデフォルトのシングル投稿テンプレートを使用しており、そこにはDiscourseコメントコードは含まれていないはずです。

奇妙なことに、これは以下の投稿でのみ発生しています: Strange thing is this happening with only following posts: - Pastebin.com [ペーストビンをご確認ください。リンクを追加しました]

他の投稿では、Astraサイトビルダーで追加したコメントボックスのみが表示されています。

はい、Astraはブロック対応テーマです。こちらがドキュメントです: Documentation Docs

WP Discourse Comments Blockを使用しましたか?

「いいね!」 1

はい、Astra Site Builder で WP Discourse コメントブロックを使用しています。Astra Site Builder のフックを無効にしても、投稿の下にこの余分な Discourse コメントボックスが表示されます。

以前はextolテーマを使用していました。投稿ページ自体にDiscourseコメントブロックを追加しました。

その後Astraに移行しました。

Astraにはいくつかの制限があり、デフォルトの投稿テンプレートを編集できません。そのため、Astraサイトビルダーのフックを介してDiscourseコメントボックスを追加しました。これは完全に機能しています。

Astraサイトビルダーのフックを無効にしても、これらの3つのページにはDiscourseコメントボックスが表示されます。投稿にコメントボックスブロックを追加していません。そして、それがどこから来ているのか本当にわかりません。

WP Discourse > Comments の「Discourse コメントを有効にする」設定を無効にして、どのような効果があるか教えてください(設定変更を保存してください)。

この設定を無効にすると、両方のコメントボックスが消えます。

「いいね!」 1

はい、再度有効にすることができます。

問題は、使用しているテーマとサイトビルダーの組み合わせに関係なく、同じページにPHP投稿テンプレートとブロック投稿テンプレートの両方があることです(これは通常ではありません)。これが原因で発生しています。

両方のテンプレートを1つのページに読み込みたい場合は、PHP投稿テンプレートからcomments_template行を削除する必要があります。

「いいね!」 1

PHPから来ている場合、なぜ特定の3つの投稿にのみ表示されるのか疑問に思っています。
comments_template を single.php ファイルで見つけられませんでした。 :cry:

「いいね!」 1

カスタム設定でコメントを無効にしても、コメントボックスのみが非表示になります。Discourseのコメントボックスは引き続き表示されます。

「いいね!」 1

まだ解決できません。

Discourseフォーラムのスレッドに誰かがコメントすると、関連するブログ投稿の下に新しいコメントセクションが表示されます。comments_template が見つかりませんでした。

これに関する記事やビデオチュートリアルを提案していただけますか?

@angus

「いいね!」 1

追加のCSSでコメントセクションを1つ非表示にしました。

これは一時的な解決策です。効果的な方法があれば教えてください。適用します。

「いいね!」 1

使用しているPHPテンプレートに関数呼び出しのコメントテンプレートがあることが原因です。それは次のようなものになります。

<?php comments_template(); ?>

それがどこにあるかは、使用しているPHPテンプレートによって異なります。その関数を見つければ、問題は解決します。残念ながら、私たちや記事がお手伝いできることはあまりありません。

他に提案できることとしては、「Astra」のサポートに連絡することです。根本的な問題は、PHPテンプレートとブロックの組み合わせにあります。彼らが何か手がかりをくれるかもしれません。

「いいね!」 2

まず、この件で私に付き合ってくれ、思慮深い指導をしてくれた@angusに心から感謝したいと思います。あなたのサポートは非常に大きな意味があり、私がこの問題を解決するために費やしてくれた時間と労力に心から感謝しています。私が試したことすべてを順を追って説明させてください。これは、同様の問題に直面している他の人々にも役立つかもしれません。

背景と初期設定:
当初はExtolテーマを使用しており、Discourseコメントブロックを単一投稿ページ自体に直接追加していました。これは問題なく機能していました。Astraテーマに切り替えたところ、状況はより複雑になりました。Astraには(デフォルトの単一投稿テンプレートを簡単に編集できないなどの)いくつかの制限があるため、Astra Site Builderのフックを使用してDiscourseコメントボックスを追加し、表示条件に基づいて投稿の下に配置しました。

これはほとんどの投稿でスムーズに機能しましたが、3つの特定の投稿ではDiscourseコメントセクションが2回表示されました。他の投稿は正しく表示されているのに、なぜこれらの投稿だけでこの問題が発生するのか理解できませんでした。この異常により、古いExtol設定の残骸があるのではないかと考えましたが、決定的なものは何も特定できませんでした。

問題の調査:

  • まず、Discourseコメントに対して手動で有効または無効にされた設定やブロックがないか、投稿エディターを確認しました。驚くことに、そこには何もありませんでした。追加のブロックもなく、異なる設定もありませんでした。
  • 次に、Astra Site Builderのフックを無効にして、余分なコメントセクションが削除されるかどうかを確認しました。削除されず、重複したボックスは残ったままでした。これは、Astra Site Builderの設定外で重複が発生していることを示唆していました。
  • 次に、アドバイスに従い、WP Discourseの設定で**「Discourseコメントを有効にする」を無効にしました**。これにより、両方のコメントセクションが削除され、両方がこの統合を通じて何らかの方法で生成されていることが示されました。
  • 再度有効にした後、テーマファイルをさらに深く調べました。comments_template();のインスタンスがないか、single.php、content-single.php、およびその他の関連テンプレートファイルを検索しました。残念ながら、この関数を明示的に呼び出しているものは何も見つかりませんでした。これは私を困惑させました。PHPテンプレートの問題であれば、なぜそれを見つけられなかったのでしょうか?
  • カスタムテンプレートがないか確認しました。これらの3つの投稿は異なるテンプレートを使用していたのでしょうか?これも確認できませんでした。すべてがデフォルトの設定を示していました。
  • 別の理論はコメント同期に関連していました。誰かがDiscourseフォーラムにコメントすると、関連するブログ投稿の下に別のコメントセクションが表示されるトリガーになるのではないか?これはもっともらしいと思われましたが、この動作に直接関連する設定やドキュメントを見つけることができませんでした。
  • 一時的なCSS修正 resorted to a temporary CSS fix to hide the duplicate comment section:

WPテーマカスタマイザーの追加CSSにCSSを追加

#comments {
    display: none !important;
}

AstraフックにCSSを追加

#comments {
    display: block !important;
}

これは機能しましたが、恒久的な解決策ではないことに同意します。根本原因に対処する方がはるかに良いです。

考察と理論:

  • Astraがフックとブロックを処理する方法に、より深い問題があるのではないかと疑っています。おそらく、Discourseコメントが埋め込まれる方法に何らかの競合や重複があるのかもしれません。
  • もう1つの可能性は、古いExtolテーマからの隠された設定や残りの構成がまだ影響を与えていることです。
  • または、DiscourseがWordPressと同期する方法に関連している可能性があります。フォーラムでコメントが作成されると、WordPressサイト内で何かがトリガーされ、余分なセクションが作成される可能性があります。

まだ試していないこと:

  • Astraサポートへの連絡: あなたが提案したように、これは検討する価値があるかもしれません。彼らは同様の問題を認識しているか、テーマがコメントとフックをどのように処理するかについての洞察を提供できるかもしれません。
  • WP Discourse以外のすべてのプラグインを無効にする: これにより、他のプラグインがこの動作を引き起こしているかどうかを特定するのに役立つ可能性があります。
  • 完全に新しい投稿でのテスト: 新しい投稿を最初から作成し、問題が再現するかどうかを確認すると、何かが明らかになるかもしれません。

次のステップ:
今のところ、Astraサポートに連絡することと、プラグインを無効にしてさらにテストを実行することを検討するつもりです。また、子テーマを使用して、Discourseコメントセクションをより正確に手動で処理できるかどうかを確認するという異なるアプローチを試すかもしれません。

Angus、改めて、あなたの助けと忍耐に本当に感謝しています。あなたの洞察は非常に貴重であり、まだ解決していませんが、何が起こっているのかを理解することに近づいていると感じています。他に誰かが同様の問題について考え、洞察、または経験を持っているなら、ぜひ聞かせてください!

引き続き調査し、新しい発見があればここに更新します。Cheers!

「いいね!」 2

既存のWPコメントを表示設定は有効になっていますか?

「いいね!」 2

設定の有効化/無効化を試しましたが、追加のDiscourseコメントボックスには何も影響しませんでした。

@Arkshineさん、ありがとうございます。

「いいね!」 1

私のミスです。別の問題を見ていました!
こちらのことだと思っていました。


あなたの問題は想定内だと思います。
Astraテーマはフルサイト編集機能をサポートしておらず、ブロックとも連携しません。
言い換えれば、Astraはブロックテーマではなく、ページをカスタマイズするにはサードパーティのページビルダー(あなたの場合はElementorなど)を使用する必要があります。

元のコメントブロックを置き換えるためにDiscourseブロックを使用しない場合、重複が表示されるはずです。Angusは、ブロックテーマを使用している場合に何をする必要があるかを彼のビデオで示しています:https://meta.discourse.org/t/wp-discourse-comments-block/249790。

フックを使用してDiscourseブロックを追加する場合、コメント領域を置き換えているのではなく、特定の場所にカスタムコードを配置しています。


解決策は何ですか?

Astraフックの見た目/場所を優先する場合は、ネイティブのWPコメント領域を削除する方法があります。このPHPコードを追加できます。ヘルプが必要な場合は、How to Add Custom PHP Code in the Astra Theme? を参照してください。

add_action(
	'init',
	function() {
		if ( class_exists( 'Astra_Loop' ) ) {
			remove_action( 'astra_template_parts_content', array( Astra_Loop::get_instance(), 'template_parts_comments' ), 15 );
		}
	},
	11
);

お役に立てば幸いです!

「いいね!」 4

@Arkshine、本当にありがとうございます! :tada:
ついにネイティブのコメントセクションが表示されなくなりました。大変な道のりでした!

そして、@angusにも心から感謝します。このプロセス全体を通して、あなたの忍耐強さ、指導、そして深い洞察は本当に貴重でした。この問題を解決するために費やしてくださった時間と労力に心から感謝しています。

さまざまな設定のテストから、ブロックとPHPテンプレートの混在のデバッグまで、Astraフックの無効化、CSSの調整、コメントテンプレートの確認、さらには特定の投稿のみが影響を受けていた理由の特定まで、あらゆることを探求しました。試行錯誤の連続でしたが、すべてのステップがシステムへの理解を深めるのに役立ちました。

あなたの専門知識と支援の意思がなければ、これは不可能でした。あなたの助けは問題を解決しただけでなく、WordPress、Discourse、テーマの統合について多くのことを教えてくれました。言葉にできないほど感謝しています。

同様の問題に直面している皆さんへ:テストを続け、学び続け、助けを求めることを決してためらわないでください。コミュニティは素晴らしいです! :rocket:

「いいね!」 3

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