Funkcje znaczników szablonów polegają na zmiennych globalnych w celu uzyskania dostępu do przetwarzanego postu i pobierania danych z niego lub z nim powiązanych.
Główną ich zmienną jest $post
sam obiekt postu. W twoim przykładzie nie jest to jednoznaczne, ale dzieje się tak, że twoja pętla przypisuje dane $post
, jeśli nazwa dla iteracji nie była $post
, musisz to zrobić jawnie ( global $post; $post = $some_other_post;
).
Istnieje jednak wiele innych globali i ich celem setup_postdata()
jest wypełnienie ich danymi. Jeśli spojrzysz na źródło, to są to:
global $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages;
Zauważ, że w większości przypadków powinieneś wp_reset_postdata()
później dzwonić, aby przywrócić globały do ich pierwotnego stanu.