$comm = get_comments()
を使用して$comm
をwp_list_comments()
( に渡しているのでこれが の理由です。
コメントテンプレートが表示されているときに、WordPressがデータベースから$wp_query
にコメントを読み込めないようにするにはどうすればいいですか?私は自分自身で上記の方法を使ってコメントを得ているので、私はこの余分なデータベース呼び出しを避けたいのでこれを求めています。
PS:また、$comments
グローバル変数は、現在のコメントページのコメントだけではなく、投稿に対するすべてのコメントを含む配列です。 10Kのコメントがある投稿がある場合、WPはこれらすべてを一度にロードしますか?ばかげているようです...
comments_template()
がSQLクエリを作成するのを防ぐことはできません。そうですね、DB層にフックしてその特定のクエリだけを防ぐこともできますが、それは非常に面倒です。これがテーマ用のものであれば、comments_template()
への呼び出しを削除して自分の関数に置き換えることができます。 comments_template()
はそれほど多くは行いません :すべてのコメントをロードするだけで、まだ承認されていない場合は提出されたばかりのコメントもロードします。必要に応じてping、トラックバック、通常のコメントを入力し、コメントテンプレートファイルをロードします。コメントページングはWordPressでは比較的若いので、おそらくまだ効率的ではありません。