Lors de l'exécution d'une requête avec la méthode WP_Query, j'ai obtenu un objet. Je comprends que je peux ensuite faire la boucle pour afficher des contenus. Mais, mon objectif n'est pas d'afficher quoi que ce soit, je veux obtenir des données de post en faisant quelque chose comme "foreach ...". Comment puis-je obtenir un tableau de données post que je peux parcourir et obtenir des données?
35
Réponses:
Vous devriez lire la référence de fonction pour WP_Query sur le codex WordPress. Là vous avez beaucoup d'exemples à regarder. Si vous ne souhaitez pas parcourir l'ensemble de résultats à l'aide de a
while
, vous pouvez obtenir toutes les publications renvoyées par la requête avec leWP_Query
dans la propriétéposts
.Par exemple
la source
'posts_per_page'=>1
in 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
place,$query->get_posts()
cela déclenchera une réexécution de l'analyse de la requête et d'autres requêtes inutiles sur la base de donnéesEn fait, vous n’avez pas besoin de refuser d’utiliser la
while()
boucle. Le même objet WP_Post est déjà stocké dans lapost
propriété:la source
if
est redondant.if
n'est pas redondant. Dans ce cas précis, c’est le cas, mais dans la plupart des situations de production, vous devez exécuter du code entre le if et le while.vous pouvez également utiliser à la
get_posts( $args )
place dewp_Query()
, ce qui vous donnera une liste de messagesla source