web-dev-qa-db-ja.com

WordPressがコメントを読み込めないようにする

$comm = get_comments()を使用して$commwp_list_comments()に渡しているのでこれが の理由です。

コメントテンプレートが表示されているときに、WordPressがデータベースから$wp_queryにコメントを読み込めないようにするにはどうすればいいですか?私は自分自身で上記の方法を使ってコメントを得ているので、私はこの余分なデータベース呼び出しを避けたいのでこれを求めています。

PS:また、$commentsグローバル変数は、現在のコメントページのコメントだけではなく、投稿に対するすべてのコメントを含む配列です。 10Kのコメントがある投稿がある場合、WPはこれらすべてを一度にロードしますか?ばかげているようです...

1
Alex

comments_template()がSQLクエリを作成するのを防ぐことはできません。そうですね、DB層にフックしてその特定のクエリだけを防ぐこともできますが、それは非常に面倒です。これがテーマ用のものであれば、comments_template()への呼び出しを削除して自分の関数に置き換えることができます。 comments_template()はそれほど多くは行いません :すべてのコメントをロードするだけで、まだ承認されていない場合は提出されたばかりのコメントもロードします。必要に応じてping、トラックバック、通常のコメントを入力し、コメントテンプレートファイルをロードします。コメントページングは​​WordPressでは比較的若いので、おそらくまだ効率的ではありません。

0
Jan Fabry