Jak vypadá loop

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ě.

Funkce WordPressu „uvnitř“

FUNKCE WORDPRESSU UVNITŘ

Hlavním motorem, který zajišťuje, že se načte a zobrazí požadovaná stránka webu, je loop. Je to cyklus, který probíhá v několika fázích. Pokud některá z nich chybí nebo je špatně upravená, stránka nebude fungovat správně. Při modifikaci loopu se často používají hooky  a v zobrazovací části samozřejmě šablony.

Informace si představíme obráceným postupem od výsledku k zadání, od nejjednoduššího ke složitějšímu, aby bylo vše lépe srozumitelné.