2つのディスコースコメントボックスが表示されています。
プラットフォーム: WordPress
テーマ: Astra
以前はextolテーマを使用していましたが、その後astraに移行しました。astraサイトビルダーでコメントセクションのフックを追加し、表示条件で投稿の下に配置しました。
すべてのブログ投稿でコメントセクションは正常に表示されていますが、3つの投稿(ディスコースコメントセクションが2回表示されている)を除きます。
どなたか助けていただけませんか?
2つのディスコースコメントボックスが表示されています。
プラットフォーム: WordPress
テーマ: Astra
以前はextolテーマを使用していましたが、その後astraに移行しました。astraサイトビルダーでコメントセクションのフックを追加し、表示条件で投稿の下に配置しました。
すべてのブログ投稿でコメントセクションは正常に表示されていますが、3つの投稿(ディスコースコメントセクションが2回表示されている)を除きます。
どなたか助けていただけませんか?
こんにちは、これはテーマの問題か、あるいは「Astra Site Builder」の使用方法に関連している可能性がありますが、それでもお手伝いさせていただきます。
これはどのような状況か、もう少し詳しく教えていただけますか?コードを使用しましたか?「Astra Site Builder」のドキュメントへのリンクはありますか?ブロックが有効なテーマですか?できるだけ多くの詳細を教えてください。
迅速なご対応ありがとうございます、@angus様。
実際、コードを編集してもコードは表示されず、テーマのデフォルトのシングル投稿テンプレートを使用しており、そこにはDiscourseコメントコードは含まれていないはずです。
奇妙なことに、これは以下の投稿でのみ発生しています: Strange thing is this happening with only following posts: - Pastebin.com [ペーストビンをご確認ください。リンクを追加しました]
他の投稿では、Astraサイトビルダーで追加したコメントボックスのみが表示されています。
はい、Astraはブロック対応テーマです。こちらがドキュメントです: Documentation Docs
WP Discourse Comments Blockを使用しましたか?
はい、Astra Site Builder で WP Discourse コメントブロックを使用しています。Astra Site Builder のフックを無効にしても、投稿の下にこの余分な Discourse コメントボックスが表示されます。
以前はextolテーマを使用していました。投稿ページ自体にDiscourseコメントブロックを追加しました。
その後Astraに移行しました。
Astraにはいくつかの制限があり、デフォルトの投稿テンプレートを編集できません。そのため、Astraサイトビルダーのフックを介してDiscourseコメントボックスを追加しました。これは完全に機能しています。
Astraサイトビルダーのフックを無効にしても、これらの3つのページにはDiscourseコメントボックスが表示されます。投稿にコメントボックスブロックを追加していません。そして、それがどこから来ているのか本当にわかりません。
WP Discourse > Comments の「Discourse コメントを有効にする」設定を無効にして、どのような効果があるか教えてください(設定変更を保存してください)。
この設定を無効にすると、両方のコメントボックスが消えます。
はい、再度有効にすることができます。
問題は、使用しているテーマとサイトビルダーの組み合わせに関係なく、同じページにPHP投稿テンプレートとブロック投稿テンプレートの両方があることです(これは通常ではありません)。これが原因で発生しています。
両方のテンプレートを1つのページに読み込みたい場合は、PHP投稿テンプレートからcomments_template行を削除する必要があります。
PHPから来ている場合、なぜ特定の3つの投稿にのみ表示されるのか疑問に思っています。
comments_template を single.php ファイルで見つけられませんでした。 ![]()
カスタム設定でコメントを無効にしても、コメントボックスのみが非表示になります。Discourseのコメントボックスは引き続き表示されます。
まだ解決できません。
Discourseフォーラムのスレッドに誰かがコメントすると、関連するブログ投稿の下に新しいコメントセクションが表示されます。comments_template が見つかりませんでした。
これに関する記事やビデオチュートリアルを提案していただけますか?
追加のCSSでコメントセクションを1つ非表示にしました。
これは一時的な解決策です。効果的な方法があれば教えてください。適用します。
使用しているPHPテンプレートに関数呼び出しのコメントテンプレートがあることが原因です。それは次のようなものになります。
<?php comments_template(); ?>
それがどこにあるかは、使用しているPHPテンプレートによって異なります。その関数を見つければ、問題は解決します。残念ながら、私たちや記事がお手伝いできることはあまりありません。
他に提案できることとしては、「Astra」のサポートに連絡することです。根本的な問題は、PHPテンプレートとブロックの組み合わせにあります。彼らが何か手がかりをくれるかもしれません。
まず、この件で私に付き合ってくれ、思慮深い指導をしてくれた@angusに心から感謝したいと思います。あなたのサポートは非常に大きな意味があり、私がこの問題を解決するために費やしてくれた時間と労力に心から感謝しています。私が試したことすべてを順を追って説明させてください。これは、同様の問題に直面している他の人々にも役立つかもしれません。
背景と初期設定:
当初はExtolテーマを使用しており、Discourseコメントブロックを単一投稿ページ自体に直接追加していました。これは問題なく機能していました。Astraテーマに切り替えたところ、状況はより複雑になりました。Astraには(デフォルトの単一投稿テンプレートを簡単に編集できないなどの)いくつかの制限があるため、Astra Site Builderのフックを使用してDiscourseコメントボックスを追加し、表示条件に基づいて投稿の下に配置しました。
これはほとんどの投稿でスムーズに機能しましたが、3つの特定の投稿ではDiscourseコメントセクションが2回表示されました。他の投稿は正しく表示されているのに、なぜこれらの投稿だけでこの問題が発生するのか理解できませんでした。この異常により、古いExtol設定の残骸があるのではないかと考えましたが、決定的なものは何も特定できませんでした。
問題の調査:
comments_template();のインスタンスがないか、single.php、content-single.php、およびその他の関連テンプレートファイルを検索しました。残念ながら、この関数を明示的に呼び出しているものは何も見つかりませんでした。これは私を困惑させました。PHPテンプレートの問題であれば、なぜそれを見つけられなかったのでしょうか?WPテーマカスタマイザーの追加CSSにCSSを追加
#comments {
display: none !important;
}
AstraフックにCSSを追加
#comments {
display: block !important;
}
これは機能しましたが、恒久的な解決策ではないことに同意します。根本原因に対処する方がはるかに良いです。
考察と理論:
まだ試していないこと:
次のステップ:
今のところ、Astraサポートに連絡することと、プラグインを無効にしてさらにテストを実行することを検討するつもりです。また、子テーマを使用して、Discourseコメントセクションをより正確に手動で処理できるかどうかを確認するという異なるアプローチを試すかもしれません。
Angus、改めて、あなたの助けと忍耐に本当に感謝しています。あなたの洞察は非常に貴重であり、まだ解決していませんが、何が起こっているのかを理解することに近づいていると感じています。他に誰かが同様の問題について考え、洞察、または経験を持っているなら、ぜひ聞かせてください!
引き続き調査し、新しい発見があればここに更新します。Cheers!
既存のWPコメントを表示設定は有効になっていますか?
設定の有効化/無効化を試しましたが、追加のDiscourseコメントボックスには何も影響しませんでした。
@Arkshineさん、ありがとうございます。
私のミスです。別の問題を見ていました!
こちらのことだと思っていました。
あなたの問題は想定内だと思います。
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
);
お役に立てば幸いです!
@Arkshine、本当にありがとうございます! ![]()
ついにネイティブのコメントセクションが表示されなくなりました。大変な道のりでした!
そして、@angusにも心から感謝します。このプロセス全体を通して、あなたの忍耐強さ、指導、そして深い洞察は本当に貴重でした。この問題を解決するために費やしてくださった時間と労力に心から感謝しています。
さまざまな設定のテストから、ブロックとPHPテンプレートの混在のデバッグまで、Astraフックの無効化、CSSの調整、コメントテンプレートの確認、さらには特定の投稿のみが影響を受けていた理由の特定まで、あらゆることを探求しました。試行錯誤の連続でしたが、すべてのステップがシステムへの理解を深めるのに役立ちました。
あなたの専門知識と支援の意思がなければ、これは不可能でした。あなたの助けは問題を解決しただけでなく、WordPress、Discourse、テーマの統合について多くのことを教えてくれました。言葉にできないほど感謝しています。
同様の問題に直面している皆さんへ:テストを続け、学び続け、助けを求めることを決してためらわないでください。コミュニティは素晴らしいです! ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.