Les fonctions de balise de modèle s'appuient sur des variables globales pour accéder au post en cours de traitement et en extraire des données ou y être liées.
La variable principale d'entre eux est celle $post
qui détient l'objet post lui-même. Dans votre exemple, ce n'est pas explicite, mais ce qui se passe, c'est que votre boucle assigne des données à $post
, si le nom pour l'itération n'était pas, $post
vous devriez le faire explicitement ( global $post; $post = $some_other_post;
).
Cependant, il existe de nombreux autres globaux et le but de setup_postdata()
est de les remplir avec des données. Si vous regardez la source à savoir qu'ils sont:
global $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages;
Notez que dans la plupart des cas, vous devriez appeler wp_reset_postdata()
après pour ramener les globaux à leur état d'origine.