Intereting Posts
Pull Youtube Ссылка со второго WP_Editor Возрастание ордера игнорируется в мета-запросе? Автоматические фильтры обновления в Multisite Null / undefined return в запросе WordPress AJAX Добавление настраиваемых возможностей Код плагина ebook не работает Как я могу иметь различный контент для разных стран? Код для отображения отдельного Single.php является переопределяющим нормальным single.php, тоже Странное поведение панели инструментов должно быть основным файлом Как предотвратить очистку настраиваемых полей во время массового редактирования? Как: разбиение на страницы в 3 разных пользовательских циклах на одной странице пользовательский тип сообщения и пользовательская таксономия permalink «Удалить уведомление об обновлении для всех пользователей, кроме пользователя ADMIN» Какая точка входа в тему WordPress? WP приветствие по электронной почте в зависимости от роли пользователя

Выложить метатет 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() работу других элементов сайта.