Las funciones de etiqueta de plantilla se basan en variables globales para acceder a la publicación que se está procesando y recuperar datos de ella o estar relacionados con ella.
La variable principal de ellos es $post
, que contiene el objeto post en sí. En su ejemplo, no es explícito, pero lo que sucede es que su bucle asigna datos a $post
, si el nombre para la iteración no fuera $post
, tendría que hacerlo explícitamente ( global $post; $post = $some_other_post;
).
Sin embargo, hay un montón de otros globales y el propósito de setup_postdata()
es completarlos con datos. Si nos fijamos en la fuente, a saber, son:
global $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages;
Ten en cuenta que, en la mayoría de los casos, deberías llamar a wp_reset_postdata()
para devolver a los globales a su estado original.