При выполнении запроса с помощью метода WP_Query я получил объект. Я понимаю, что я могу сделать цикл для отображения материалов. Но моя цель - не отображать что-либо, вместо этого я хочу получить некоторые данные постов, выполнив что-то вроде «foreach ...». Как я могу получить массив почтовых данных, которые я могу просмотреть и получить данные?
35
Ответы:
Вы должны прочитать ссылку на функцию для WP_Query в кодексе WordPress. Там у вас есть много примеров, чтобы посмотреть. Если вы не хотите перебирать результирующий набор с помощью a
while
, вы можете получить все сообщения, возвращаемые запросом сWP_Query
помощью свойства inposts
.Например
источник
'posts_per_page'=>1
в аргументах.function wp_queryfirstpost($args) { $q=new WP_Query($args); $pp=$q->get_posts(); $firstpost=false;if ($pp) $firstpost=$pp[0]; wp_reset_postdata(); return $firstpost; }
$query->posts
Вместо этого следует использовать , что$query->get_posts()
приведет к повторному запуску парсинга запросов и дополнительных ненужных запросов к базе данныхНа самом деле, вам не нужно отказываться от использования
while()
цикла. Тот же объект WP_Post уже хранится вpost
свойстве:источник
if
избыточноif
не является лишним. В данном случае это так, но в большинстве производственных ситуаций у вас есть код, который нужно выполнить между if и while.Вы также можете использовать
get_posts( $args )
вместоwp_Query()
, что даст вам список сообщенийисточник