Intereting Posts
Как загрузить post_class () локально wp_query для отображения вложений с тегом Сценарий заголовка браузера игнорируется is_page / else условный Функция, не сохраняющая снятый флажок Увеличение содержимого дополнительным текстом после сохранения / публикации Показать сообщение с сообщением о отключении плагина WordPress MultiSite Paste из Word Tool Не работает URL-адреса без изменений после миграции Остановить WordPress, удалив теги <script> при переходе с HTML на Visual (TinyMCE) Пользовательский тип пересылки сообщений бросает заголовки отправленные ошибки Последние сообщения +, как решить multiwidget? Добавление изображения Описание ниже Изображения, вставленные в сообщения Как я могу загрузить загруженные $ _FILES из формы, отправленной в admin.php? Получение 404 при попытке загрузить /wp-admin/plugin-install.php Каков наиболее эффективный (т. Е. Менее интенсивный сервер) способ для 301 перенаправления?

Как оптимизировать мой запрос, отфильтровывая нежелательные данные?

Я использую get_posts ($arg); для запроса таблицы сообщений. Обычно мне нужны только три поля: post_title, ID и post_excerpt. Но возвращенные данные намного больше, включая post_content, который обычно огромен.

Я знаю, что могу использовать 'fields' => 'ids' чтобы получить только идентификатор. Но я хотел бы использовать 'fields' => 'post_title' или 'fields' => 'post_excerpt' .

Это возможно? Если это невозможно, какой другой метод я мог бы использовать?

Solutions Collecting From Web of "Как оптимизировать мой запрос, отфильтровывая нежелательные данные?"

get_posts() использует класс WP_Query для получения сообщений.

Обычно он возвращает массив объектов post. Параметр $fields для WP_Query принимает два допустимых аргумента: 'ids' приведет к возврату массива идентификаторов сообщений, а 'id=>parent' заставит его возвращать ассоциативный массив с свойствами post objects в виде пар key => value . Любое другое входное значение в качестве аргумента для $fields приведет к возврату объектов.

Таким образом, либо вы собираете только идентификаторы , либо получаете $post_content (и всю другую $post_content информацию) обратно, либо как элемент массива, либо свойство объекта.

Как правило, это не должно быть проблемой производительности. Это может быть заметно, если результирующий массив сам по себе очень большой, и вы хотите использовать его в дальнейших операциях.
Если ваша БД настолько велика, что требуются оптимизированные запросы, считайте, что она все равно должна пройти через всю таблицу wp_posts , независимо от того, выбран ли пост-контент или нет.
Итог: не имеет значения, что объекты имеют некоторые свойства, которые вам не нужны.