Intereting Posts
получать комментарии к пользовательскому типу сообщений Пользовательский тип сообщения: условия связи, чтобы показать счет Крючок перед вставкой пользователя в базу данных Как добавить что-то на страницу «Редактировать тег» в wp-admin? Добавление содержимого в архивные и таксономические страницы для пользовательских типов сообщений? Ошибка URL-адреса вложения удалить меню администратора wp по роли пользователя пользователя Функция WordPress с атрибутом переходит к шаблону получить сообщение с помощью ajax Multisite – большой пакет хостинга или несколько пакетов хостинга? Условные атрибуты и логика для каждой категории продуктов add_rewrite_rule для поиска Как изменить этот запрос wpdb для включения сообщений, которые имеют post_status из публикации и черновика? WordPress на панели nginx Невозможно отображать страницы разбиения на страницы в шаблоне пользовательской категории

Выложить метатет post_query?

Я создаю настраиваемый индексный цикл, который просто использует query_posts на данный момент.

Проблема в том, что внутри The Loop я должен затем запросить метаданные сообщения (с get_post_meta), которые, как мне кажется, должны запрашивать DB каждый раз, когда он вызывается. Можно ли каким-либо образом вытащить метаданные с помощью query_posts? Мне понадобится большинство, если не все метаданные, хранящиеся для каждого сообщения.

Благодаря,
Максимум

Solutions Collecting From Web of "Выложить метатет post_query?"

На самом деле, вы ошибаетесь на пару пунктов здесь.

1. Не используйте query_posts()

Эта функция предназначена для изменения существующего запроса, а не для выполнения отдельного запроса. Вы должны либо использовать get_posts() либо новый экземпляр класса WP_Query() для выполнения запроса для настраиваемого цикла.

Вот еще несколько прочтений на query_posts() :

  • Запрос сообщений без query_posts ()
  • Когда использовать WP_query (), query_posts () и pre_get_posts

2. get_post_meta() не ударяет по БД повторно

Когда вы выполняете почтовый запрос, WordPress извлекает не только сообщение, но и мета-сообщение. Мы используем встроенный кэш объектов для изоляции базы данных от повторных запросов для получения той же информации. Если вы используете кеширующий плагин поверх этого, вы также можете получить преимущества серверных инструментов, таких как memcached.

Вы можете прочитать о кеше объектов в Codex . get_post_meta() с списком постоянных плагинов кэшей в нижней части страницы, они не только сделают get_post_meta() более легкими, но и get_post_meta() работу других элементов сайта.