Запретить WordPress загружать комментарии


Я показываю комментарии к сообщению по-своему, используя $comm = get_comments(), а затем передаю $comm в wp_list_comments() ( вот причина, по которой).

Как отключить WordPress от загрузки комментариев из базы данных в $wp_query, когда отображается шаблон комментариев? Я спрашиваю об этом, потому что хочу избежать этого дополнительного вызова базы данных, так как я сам получаю комментарии, используя описанный выше метод.

PS: Я также заметил, что глобальная переменная $comments представляет собой массив, содержащий ВСЕ комментарии к сообщению, а не только комментарии с текущей страницы комментариев. Если у меня будет сообщение с 10 тысячами комментариев, WP загрузит все это сразу? Кажется нелепым...

Author: Community, 2010-11-27

1 answers

Вы не можете запретить comments_template() выполнять SQL-запрос. Ну, возможно, вы могли бы подключиться к уровню БД, чтобы предотвратить только этот конкретный запрос, но это было бы очень громоздко сделать. Если это для темы, вы можете просто удалить вызов comments_template() и заменить его своей собственной функцией. comments_template() не делает так много: просто загрузите все комментарии, возможно, также только что отправленный комментарий, если он еще не утвержден, разделите их на пинги, обратные ссылки и регулярные комментарии, если это необходимо, и загрузите файл шаблона комментариев. Подкачка комментариев в WordPress относительно молода, поэтому, вероятно, она еще не так эффективна, как могла бы быть.

 0
Author: Jan Fabry, 2010-11-27 20:44:07