Intereting Posts
Варианты торговли Woo Обновить параметр в WordPress Как включить параметр, который имеет переменное количество значений на странице настроек с помощью register_setting? Физическая организация медиафайла WordPress (плагин Real Media Library) добавить миниатюру youtube в индекс и single.php добавить видео Отключить изменение размера изображения в определенных полях загрузки стиль привязан к тегу <html> из-за пределов таблиц стилей Преобразование пользовательской таксономии в обычные сообщения Запрос WP Query на более чем 2000 сообщений Могу ли я отключить дальнейшие комментарии на одной странице? где код, который выполняет иерархию шаблонов? Измените текст справки «Введите название здесь» в настраиваемом типе сообщения Как обновить старую тему для последней версии WordPress как прикрепить изображение к пользовательскому типу сообщения в wordpress, используя только код Импорт CSV-файла

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

Я использую 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 , независимо от того, выбран ли пост-контент или нет.
Итог: не имеет значения, что объекты имеют некоторые свойства, которые вам не нужны.