Запретить WordPress загружать комментарии
Я показываю комментарии к сообщению по-своему, используя $comm = get_comments()
, а затем передаю $comm
в wp_list_comments()
( вот причина, по которой).
Как отключить WordPress от загрузки комментариев из базы данных в $wp_query
, когда отображается шаблон комментариев? Я спрашиваю об этом, потому что хочу избежать этого дополнительного вызова базы данных, так как я сам получаю комментарии, используя описанный выше метод.
PS: Я также заметил, что глобальная переменная $comments
представляет собой массив, содержащий ВСЕ комментарии к сообщению, а не только комментарии с текущей страницы комментариев. Если у меня будет сообщение с 10 тысячами комментариев, WP загрузит все это сразу? Кажется нелепым...
1 answers
Вы не можете запретить comments_template()
выполнять SQL-запрос. Ну, возможно, вы могли бы подключиться к уровню БД, чтобы предотвратить только этот конкретный запрос, но это было бы очень громоздко сделать. Если это для темы, вы можете просто удалить вызов comments_template()
и заменить его своей собственной функцией. comments_template()
не делает так много: просто загрузите все комментарии, возможно, также только что отправленный комментарий, если он еще не утвержден, разделите их на пинги, обратные ссылки и регулярные комментарии, если это необходимо, и загрузите файл шаблона комментариев. Подкачка комментариев в WordPress относительно молода, поэтому, вероятно, она еще не так эффективна, как могла бы быть.