Loop se spouští v každém skriptu šablony, který má na starosti vykreslení celé stránky – tedy typicky index.php, page.php, single.php nebo category.php. Nespouští se v dílčích skriptech, jako jsou header.php, footer.php, search.php nebo dalších, protože ty všechny jsou vkládány do hlavních skriptů pomocí nějaké funkce (v následující ukázce je touto funkcí get_template_part
).
while ( have_posts() ) : the_post(); // Include the page content template. get_template_part( 'template-parts/content', 'page' ); // End of the loop. endwhile;
Jak vidíte, je to triviální. Pomocí get_template_part
se načítá kód, který zobrazí tělo stránky. Klíčové jsou funkce have_posts a the_post. Ta první zjišťuje, jestli jsou v interní paměti dostupné další záznamy (třeba články) načtené z databáze, tedy zda je stále co zobrazovat, ta druhá kopíruje tato data do globální proměnné $post, s níž pracuje většina funkcí. Proměnná pak obsahuje detaily záznamu (třeba článku) – název, adresu, obsah, datum, autora atd. Neobsahuje ale custom fields, ty je potřeba načítat explicitně.