Ao executar uma consulta com o método WP_Query, recebi um objeto. Entendo que posso fazer o loop para exibir coisas. Mas, meu objetivo não é exibir nada. Em vez disso, quero obter alguns dados da postagem fazendo algo como "foreach ...". Como posso obter uma matriz de dados de postagem que eu possa percorrer e obter dados?
35
Respostas:
Você deve ler a referência de função para WP_Query no codex do WordPress. Lá você tem muitos exemplos para olhar. Se você não quer varrer o conjunto de resultados usando um
while
, você pode obter todas as mensagens retornadas pela consulta com oWP_Query
na propriedadeposts
.Por exemplo
fonte
'posts_per_page'=>1
em 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
, em vez disso,$query->get_posts()
acionará uma reexecução da análise de consultas e consultas adicionais desnecessárias ao banco de dadosNa verdade, você não precisa se recusar a usar o
while()
loop. O mesmo objeto WP_Post já está armazenado napost
propriedadefonte
if
é redundante.if
não é redundante. Nesse caso exato, mas na maioria das situações de produção, você tem código para executar entre o if e o while.você também pode usar em
get_posts( $args )
vez dewp_Query()
, o que fornecerá uma lista de postagensfonte