Нужен get_posts() без загрузки контента

get_posts() выдаёт массив постов. Каждый пост это объект WP_Post, который содержит в себе post_content.

Как мне получать список постов без контента. Ведь это лишняя нагрузка, когда я делаю список состоящих из заголовков постов (post_title).

$posts = get_posts( array(
                            'numberposts' => 0,
                            'category'    => $now_ctg,
                            'orderby'     => 'date',
                            'order'       => 'DESC',
                            'include'     => array(),
                            'exclude'     => array(),
                            'meta_key'    => '',
                            'meta_value'  =>'',
                            'post_type'   => 'post',
                            'suppress_filters' => true, 
foreach ($posts as $post) {
//код
}

Ответы (1 шт):

Автор решения: Darth KYL

используя get_posts есть два варианта возвращаемых данных

  1. все поля записи
  2. id записи

второй вариант реализовывается через параметр fields, в вашем случае это будет вот так.

$posts = get_posts(
   [
       'numberposts' => 0,
       'category'    => $now_ctg,
       'orderby'     => 'date',
       'order'       => 'DESC',
       'post_type'   => 'post',
       'suppress_filters' => true, 
       'fields' => 'ids',
   ]
);

вы получите массив id записей через котороые уже можно получить определенный параметр такой как заголовок, ссылка либо параметр из таблицы postmeta

→ Ссылка