Jak začít studovat WordPress? Page templates (rozvržení stránek neboli šablona stránek)

ACCA - Certifikace v účetnictví – Association of Chartered Certified Accountants

Po úspěšném objednání domény, zřízení hostingu a instalaci WordPressu je čas na bližší poznání tohoto systému.

Pod pojmem theme se rozumí šablona, která zajišťuje design celého webu, a která obsahuje již zmiňované soubory index.php, style.css, header.php, footer.php, sidebar.php atd.

Template naproti tomu ovlivňuje rozvržení jedné stránky. Template se označuje také jako šablona, aby však nedošlo k záměně, bude v tomto článku template přeloženo jako rozvržení stránky.

Page templates (rozvržení stránek) jsou specifickým typem souboru šablony, který lze použít na konkrétní stránku (page) nebo skupinu stránek (group of pages).Page template (rozvržení stránek) je specifický typem souboru šablony. Zde jsou uvedeny některé charakteristické rysy souborů rozvržení stránek:- page template se používají ke změně vzhledu stránky

– page template lze použít na jednu stránku, sekci stránky nebo třídu stránek

– page template mají obecně vysokou úroveň specifičnosti a cílí na jednotlivou stránku nebo skupinu stránek

– například page template s názvem page-about.php je specifičtější než soubory šablon page.php nebo index.php, protože to ovlivní pouze stránku se slugem „about“

– pokud má page template název šablony, tak uživatelé WordPress, kteří stránku upravují, mají kontrolu nad tím, co bude použito k vykreslení stránky

Použití rozvržení stránek

Soubory rozvržení stránek zobrazují na stránce dynamický obsah vašeho webu, např. příspěvky, novinky, události kalendáře, mediální soubory atd. Můžete se rozhodnout, že chcete, aby vaše domovská stránka vypadala konkrétním způsobem, který se zcela liší od ostatních částí vašeho webu. Můžete také chtít zobrazit specifický obrázek, který odkazuje na příspěvek na jedné části stránky, mít seznam posledních příspěvků jinde a použít vlastní navigaci. K dosažení těchto cílů můžete použít rozvržení stránek.

Lze vytvořit více rozvržení stránek, např. takové, které má plnou šířku a jeden sloupec nebo dva sloupce s postranním panelem napravo nebo nalevo, případně tři sloupce atd.

Rozvržení stránek (page template) v hierarchii šablony

Když návštěvník prochází Váš web, WordPress vybere, které rozvržení použije k vykreslení dané stránky. WordPress hledá soubory rozvržení v následujícím pořadí:1. rozvržení stránky (page template) – pokud má stránka přiřazenou vlastní rozvržení, WordPress tento soubor vyhledá a pokud jej nalezne, použije ho.

2. page-{slug}.php – pokud nebylo přiřazeno vlastní rozvržení, WordPress vyhledá a použije specializované rozvržení (template), které obsahuje slug stránky.

3. page-{id}.php – pokud specializované rozvržení obsahující slug stránky není nalezeno, WordPress vyhledá a použije specializované rozvržení, které v názvu nese id stránky.

4. page.php – pokud není nalezeno specializované rozvržení, které obsahuje ID stránky, WordPress vyhledá a použije výchozí šablonu stránky.

5. singular.php – pokud není nalezena page.php, WordPress vyhledá a použije rozvržení šablony (theme), určené pro samostatný příspěvek (single post), bez ohledu na typ příspěvku.

6. index.php – pokud nejsou přiřazeny nebo nalezeny žádné konkrétní rozvržení stránek, WordPress standardně použije k vykreslení stránek výchozí indexový soubor motivu.

Existuje také rozvržení definované WordPressem pojmenované paged.php, toto není použito pro stránky příspěvkového typu (post-type), ale spíše pro zobrazení hromadných stránek archivů.

Účel rozvržení stránek a uživatelské ovládání

Při tvorbě vlastního rozvržení stránky (page template) je třeba zvážit, zda bude rozvržení pro jednu konkrétní stránku nebo pro jakoukoli stránku, dále jaký typ uživatelského ovládání chcete mít k dispozici.

Každé rozvržení stránky, které má název může být vybráno uživatelem při tvorbě nebo úpravě stránky. Seznam dostupných rozvržení (templates) lze najít pod Stránky -> Vytvořit stránku -> Vlastnosti stránky -> Šablona (v tomto případě jde o template, tedy šablonu jedné konkrétní stránky, nezaměňovat s theme, šablonou která definuje design celého webu). Uživatel WordPress si proto může vybrat libovolnou šablonu stránky, což nemusí být záměr tvůrce webu.

Například pokud chcete mít konkrétní rozvržení pro svou stránku „O webu“, nemusí být vhodné pojmenovat toto rozvržení stránky „O webu template“ protože by bylo globálně dostupné pro všechny stránky (tj. uživatel by ho mohl použít na jakoukoli stránku). Místo toho vytvořte rozvržení pro jedno použití a WordPress vykreslí stránku s příslušným rozvržením, kdykoli uživatel navštíví stránku „O webu“.

Na druhé straně mnoho rozvržení stránek (page template) obsahuje možnost zvolit kolik sloupců bude stránka mít. Každá možnost představuje globálně dostupné rozvržení stránky. Chcete-li uživatelům WordPress poskytnout tuto globální možnost, budete potřebovat rozvržení stránky pro každou možnost.

To, zda je rozvržení stránky určeno pro globální nebo singulární použití je dosaženo způsobem, jakým je soubor pojmenován a zda má či nemá konkrétní komentář.

Někdy je vhodné mít rozvržení stránky dostupné globálně i když se zdá, že jde o jediný případ užití. Když vytváříte šablony (themes), může být těžké predikovat jak uživatel pojmenuje jeho web. Portfoliové stránky jsou skvělým příkladem, protože ne každý uživatel WordPress pojmenuje své portfolio stejně nebo se stejným ID a přesto může chtít toto rozvržení stránky použít.

Organizace souborů rozvržení stránek

WordPress rozpoznává podsložku page-templates. Proto je vhodné uchovávat rozvržení stránek pro globální účely v této složce v rámci dobrého organizování.

Ovšem specializovaný soubor rozvržení stránky (vytvořený pouze pro jednorázové použití) nemůže být v podsložce, a pokud používáte odvozenou šablonu (child-theme) v mateřské šabloně.

Vytvoření vlastních rozvržení stránek (page templates) pro vlastní použití

Někdy se Vám může hodit rozvržení stránky, které může být použito globálně jakoukoliv stránkou. Někteří vývojáři seskupí své šablony s předponou názvu souboru, například page_two-columns.php. Důležité je, aby nebyla použita předpona page-, protože by WordPress vyhodnotil soubor jako specializované rozvržení stránek, které se má vztahovat pouze na jednu stránku Vašeho webu.

Rychlou a bezpečnou metodou pro vytvoření nové šablony stránky je vytvořit kopii stránky.php a dát novému souboru odlišný název. Tímto způsobem začnete s HTML strukturou ostatních stránek a nový soubor můžete upravit podle potřeby.

Chcete-li vytvořit globální šablonu, napište do horní části souboru úvodní komentář PHP, který uvádí název šablony:

<?php /* Template Name: Example Template */ ?>

Je vhodné zvolit název, který popisuje, co šablona dělá, protože název je viditelný pro uživatele WordPressu při úpravách stránky. Můžete například pojmenovat svou šablonu Homepage (domovská stránka), Blog nebo Portfolio. Tento příklad z šablony TwentyFourteen vytváří rozvržení stránky nazvané Full Width Page:

<?php

/**

* Template Name: Full Width Page

*

* @package WordPress

* @subpackage Twenty_Fourteen

* @since Twenty Fourteen 1.0

*/

Jakmile soubor nahrajete do složky rozvržení stránek (pojmenované např. page-templates), přejdete v administraci WordPressu na Stránky -> Vytvořit stránku -> Vlastnosti stránky -> Šablona a zde tedy vyberte toto rozvržení stránky. Výběrový seznam má maximální šířku 250 pixelů, takže delší názvy mohou být oříznuty.

Vytvoření vlastního rozvržení stránky (page template) pro jednu konkrétní stránku

Chcete-li vytvořit šablonu pro jednu konkrétní stránku, zkopírujte stávající soubor page.php a přejmenujte jej pomocí slug nebo ID stránky:1. page-{slug}.php

2. page-{ID}.php

Např. Vaše stránka About má slug „about“ a ID 6. Pokud má složka Vaší aktuální šablony soubor s názvem page-about.php nebo page-6.php, WordPress jej automaticky vyhledá a použije k vykreslit stránky About.

Chcete-li použít speciální rozvržení stránek, musí být ve složce Vašeho motivu (tj. / Wp-content / themes / my-theme-name /).

Vytvoření rozvržení stránky (page template) pro konkrétní typy příspěvků

Ve výchozím nastavení bude vlastní rozvržení stránky dostupné typu příspěvku “stránka”.

Chcete-li vytvořit rozvržení stránky pro konkrétní typy příspěvků, přidejte pod název rozvržení řádek s typy příspěvků, které má šablona podporovat, viz níže uvedený příklad:<?php

/*

Template Name: Full-width layout

Template Post Type: post, page, event

*/

// ze je uveden kód stránky…

Ovšem schopnost přiřadit rozvržení stránek k jiným typům příspěvků, než je typ příspěvku „stránka“, je podporována pouze od WordPressu 4.7

Pokud pro typ příspěvku existuje alespoň jedno rozvržení, zobrazí se v back-endu meta pole „Atributy příspěvku“, aniž by bylo nutné přidávat podporu typu příspěvku pro „atributy stránky“ nebo cokoli jiného. Štítek „atributy příspěvku“ lze přizpůsobit podle typu příspěvku pomocí štítku „atributy“ při registraci typu příspěvku.

Použití podmíněných značek (conditional tags) v rozvržení stránek

podmíněnými značkami v souboru page.php Vaší šablony (template) můžete provádět menší změny specifické pro stránku. Například níže uvedený ukázkový kód načte pro Vaši přední stránku soubor header-home.php, ale pro vaši stránku About načte jiný soubor (header-about.php) a pro všechny ostatní stránky poté použije výchozí header.php.if ( is_front_page() ) :

get_header( ‘home’ );

elseif ( is_page( ‘About’ ) ) :

get_header( ‘about’ );

else:

get_header();

endif;

Identifikace rozvržení stránky (page template)

Pokud vaše šablona používá funkci body_class (), WordPress vygeneruje název třídy, který se skládá z názvu třídy typu příspěvku (page tedy stránka), ID stránky (page-id- {ID}) a použitého rozvržení stránky. Pro výchozí page.php je vygenerovaný název třídy page-template-default:< body class=”page page-id-6 page-template-default”>

Specializovaná šablona (page- {slug} .php nebo page- {ID} .php) také dostává třídu page-template-default místo své vlastní třídy těla (body class).

Při použití vlastního rozvržení stránky se vytiskne třída rozvržení stránky spolu s třídou označující konkrétní rozvržení. Například pokud je váš vlastní soubor rozvržení stránky pojmenován takto:<?php

/* Template Name: My Custom Page */

?>;

Potom bude generovaný vykreslený kód HTML vypadat takto:

< body class=”page page-id-6 page-template page-template-my-custom-page-php”>

Všimněte si třídy page-template-my-custom-page-php, která je aplikována na značku těla (body tag).

Funkce rozvržení stránky (page templates functions)

Tyto integrované funkce a metody WordPress vám mohou pomoci pracovat s rozvržením stránek:get_page_template () vrací cestu k rozvržení stránky (page template) použitého k vykreslení stránky.

wp_get_theme () -> get_page_templates () vrací všechny vlastní rozvržení stránek dostupné pro aktuálně aktivní šablonu (theme). get_page_templates () je metoda třídy WP_Theme.

is_page_template () vrací true nebo false v závislosti na tom, zda bylo k vykreslení stránky použito vlastní rozvržení stránky.

get_page_template_slug () vrací hodnotu vlastního pole _wp_page_template (null, když je hodnota prázdná nebo „výchozí“). Pokud bylo stránce přiřazeno vlastní rozvržení, název tohoto rozvržení se uloží jako hodnota vlastního pole s názvem „_wp_page_template ‘(v tabulce databáze wp_postmeta). (Vlastní pole začínající podtržítkem se v modulu vlastních polí na obrazovce úprav nezobrazují.)

Zdroje a další informace:[1] https://developer.wordpress.org/themes/template-files-section/page-template-files/

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *