Po uruchomieniu zapytania metodą WP_Query dostałem obiekt. Rozumiem, że mogę zrobić pętlę, aby wyświetlić rzeczy. Ale moim celem nie jest wyświetlanie niczego, zamiast tego chcę uzyskać dane posta, wykonując coś w stylu „foreach ...”. Jak mogę uzyskać tablicę danych postów, które mogę przeglądać i pobierać?
35
Odpowiedzi:
Powinieneś przeczytać odwołanie do funkcji WP_Query w kodeksie WordPress. Masz wiele przykładów do obejrzenia. Jeśli nie chcesz zapętlać zestawu wyników za pomocą a
while
, możesz uzyskać wszystkie posty zwrócone przez zapytanie z właściwościąWP_Query
weposts
.Na przykład
źródło
'posts_per_page'=>1
w args.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
zamiast tego,$query->get_posts()
spowoduje to ponowne uruchomienie analizy zapytań i dodatkowe niepotrzebne zapytania do bazy danychW rzeczywistości nie musisz odmawiać używania
while()
pętli. Ten sam obiekt WP_Post jest już zapisany wepost
właściwości:źródło
if
jest zbędny.if
nie jest zbędny. W tym konkretnym przypadku tak jest, ale w większości sytuacji produkcyjnych masz kod do wykonania między if i a.możesz także użyć
get_posts( $args )
zamiastwp_Query()
, co da ci listę postówźródło