existuje mnoho mnoho způsobů, jak můžete změnit vzhled konkrétní stránky na vašem webu WordPress. Obsah můžete změnit v Editoru obsahu WordPress. Můžete změnit pravidla CSS, která ovlivňují web. Nebo vytvořte nový soubor v hierarchii šablon motivu WordPress, který odpovídá konkrétní stránce. Nebo můžete použít šablonu stránky motivu navrženou speciálně pro tuto stránku. Poslední je to, o čem tady mluvíme. V tomto tutoriálu se budeme zabývat tím, jak vytvořit vlastní šablonu stránky WordPress, a proč to budete chtít udělat. Začneme tím proč.
když řeknete „šablona vlastní stránky WordPress“, co tím myslíte?
s tímto tématem je obrovský problém s terminologií. Jak jsem naznačil výše, ve světě WordPress je spousta věcí s vágním pojmem „stránka“ a „šablona“, o kterých zde mluvíme. První věc, kterou *nemám * na mysli, když říkám „šablona vlastní stránky WordPress“, je “ téma WordPress.“(Mnoho lidí nových WordPress říká „šablony“, když znamenají “ téma WordPress.“)
co mám tedy na mysli „vlastní šablona stránky“? Myslím to, co je zobrazeno vpravo. Například upravujete typ obsahu stránky ve WordPressu (i když, jak uvidíme později, nyní může zahrnovat další typy obsahu WordPress). A při úpravách stránky si všimnete pole“ atributy stránky „a v rámci toho můžete (v závislosti na tom, zda vaše téma již tyto šablony obsahuje) vidět tuto rozbalovací nabídku“ šablona“. Toto výběrové pole je znázorněno vpravo (je také na pravé straně obrazovky „úpravy stránky“). Pokud vidíte tuto rozbalovací nabídku, je to proto, že Vaše téma obsahuje některé z těchto „vlastních šablon stránek“.“Jsou to vlastně soubory ve složce aktuálně aktivního motivu (nebo jeho rodiče) a mají jediný rozlišovací znak, ke kterému se dostaneme později. Ale toto volitelné rozbalovací seznam pojmenovaných šablon stránek je to, o čem zde dnes mluvíme.
jak to zapadá do hierarchie šablon?
už jsem psal a pravděpodobně to udělám znovu, o tom, jak šablona-tam je to slovo znovu-hierarchie je opravdu klíčový koncept, který musíte pochopit, abyste mohli vytvořit nebo Upravit téma WordPress. (Zde je náš rychlý úvod k tomu.) Téměř vše ostatní je detail, který můžete zjistit, jakmile pochopíte základní dynamiku hierarchie šablon. Konkrétní věc, kterou máme na mysli dnes, ačkoli, sedí mimo hierarchii šablon. Tato „vybraná šablona“ v podstatě nahrazuje celý proces výběru hierarchie šablon.
pokud byla v rozbalovací nabídce, kterou jsme ukázali výše, vybrána vlastní šablona stránky, bude použit tento soubor“ šablony“. Tečka, žádná výjimka.
Chcete-li zopakovat, že pokud je vybrána vlastní šablona stránky, bude použit tento soubor „šablony“. Tečka, žádná výjimka. Pokud tomu tak není, pak hierarchie šablon WordPress bude hledat poněkud odlišný způsob, jakým se někdo mohl pokusit upravit konkrétní stránku-pomocí souboru page-123.php
nebo page-custom-template-utilizer.php
. (Rozdíl mezi vlastní šablonou a jednou s touto strukturou page-$id
nebo page-$slug
je opravdu pouze v interakci a rozhraní.) Pokud ani jeden z nich není nalezen, WordPress klesne zpět na page.php
, pokud existuje, a pokud ne, skončili bychom v konečném nouzovém stavu, index.php
.
pokud vás zajímá, proč byste tuto metodu použili na rozdíl od numerické nebo slugové – v každém případě vytváříte vlastní soubor ve svém motivu – důvodem je to, že použití vlastních šablon vám dává větší flexibilitu a nezávislost mezi motivem a databází a obsahem vašeho webu. Kvůli tomu důvodu, doporučil bych to téměř v každé situaci, kdy si nejste jisti, s čím jít. S numerickou nebo slugovou strukturou page-*.php
jste nuceni informovat své téma o konkrétním způsobu, jakým jsou data databáze WordPress právě teď. (Takže pokud téma znovu použijete například na jiném webu WordPress, je tento soubor zbytečný.)
Jak vytvořím šablonu vlastní stránky WordPress?
OK, takže víme, že vlastní šablony stránek překonají hierarchii šablon WordPress. A že je využijeme na skutečných stránkách našeho webu WordPress jejich výběrem z rozbalovací nabídky „šablona“ na pravé liště příslušného obsahu. Je tedy čas se dostat do procesu vytváření šablony vlastní stránky WordPress.
co uděláte, je přidat do svého motivu (a mělo by to být opravdu podřízené téma, pokud pro vás není velmi silné omezení) soubor s názvem jako my-template.php
nebo really-cool-awesome.php
. Na tom opravdu nezáleží, pokud ve skutečnosti nepoužíváte název, který je součástí hierarchie šablon, jste zlatí. (Což znamená: Nepoužívejte název jako page-whatever.php
. Jak jsme se dotkli výše, hierarchie šablon WordPress si myslí, že vlastní soubor s tímto vzorem.)
jakmile máte soubor (cool-page-template.php
, z toho, co chcete), měli byste jej spustit takto:
<?php/*Template Name: Name To Appear In The Dropdown*/?>This is my custom template.
a v podstatě jsi skončil. Jak asi uhodnete, název, který se objeví v rozbalovací nabídce „Šablona“, je to, co jsem chytře nazval “ jméno, které se objeví v rozevírací nabídce.“Stejně jako soubor style.css
vašeho motivu nebo hlavní soubor pluginu, WordPress používá informace uvnitř tohoto Komentáře kódu, aby mu poskytl kontext pro práci.
pak obsah našich stránek bude v tomto případě velmi základní HTML text „Toto je moje vlastní šablona“. Jak asi tušíte, zde je mnohem pravděpodobnější, že vložíte obsah HTML, který chcete na stránce Zobrazit. Takže vaše <h1>
tagy, <p>
tagy, a možná (pokud máte chuť 🤪) nějaký PHP dělat vlastní chování, které chcete předvést.
proč se vaše šablona vlastní stránky WordPress nezobrazí
mám (více než jednou) zkušenost, že se moje nová šablona stránky WordPress nezobrazí. Zdaleka nejčastější příčinou je, že jsem překlep (nebo misremembed), jak by měl vypadat komentář záhlaví souboru. Musí být označen přesným správným názvem. Takže Template Name: Narrow Page
je perfektní, ale WordPress nikdy nenajde něco, co má místo toho záhlaví Template: Custom
.
je třeba zkontrolovat několik dalších věcí. Další důvody, proč byste mohli zjistit, že se vaše vlastní šablona stránky nezobrazuje:
- soubor umístíte na nesprávné místo (musí být ve vašem aktuálním běžícím motivu nebo jeho nadřazeném)
- dali jste šabloně soubor, který začíná
page-
. Kvůli funkci témat WordPress jsou vlastní šablony stránek, které začínajípage-
, místo toho považovány za stránku hierarchie šablon. - vaše téma chybí jeden z jeho dvou vyžadují soubory, a tak nefunguje. (WordPress témata * musí * mít soubor
index.php
astyle.css
.) - došlo k problému s tímto Zpět ve dnech WordPress 4.9 (před několika lety)
šablony stránek pro jiné než“ stránky „WordPress vlastní typy příspěvků
pro velkou část historie WordPress byly tyto“ vlastní šablony stránek „pouze pro typ obsahu“ stránky“. (WordPress má ve výchozím nastavení pouze dva typy obsahu, „příspěvky“ a „stránky“.) Ale v WordPress 4.7, funkce byla přidána, že byste mohli použít tyto šablony stránek s novými typy obsahu (často nazývané „vlastní typy příspěvků“).
Chcete-li to provést, přidejte do záhlaví souboru další řádek.“Takže by to vypadalo trochu takto:
<?php/*Template Name: Narrower TemplateTemplate Post Type: post, page, event*/// Page HTML and PHP goes here...
jak pravděpodobně uhodnete, tato nová hlavička Template Post Type:
předepíše název „úroveň kódu“ pro (vlastní) typy příspěvků. Všimněte si, že ve výše uvedeném příkladu uvádíme seznam obsahu page
, se kterým je WordPress dodáván, a také post
. Kromě toho podporujeme třetí „vlastní typ příspěvku“ nazvaný event
.
skvělý důvod k použití vlastních šablon stránek
Nyní, pokud jste to udělali dříve, zjistíte, že výše uvedená stránka nebude mít žádný styl a vypadá velmi málo jako zbytek vašeho webu WordPress (pokud nemáte nejjednodušší téma, které si lze představit). Je to proto, že náš soubor má v sobě jednu jednoduchou věc a postrádá funkce velmi běžné na všech ostatních stránkách motivů. Nemá get_header()
, get_footer()
nebo smyčku, volá, že všechny vaše ostatní soubory motivů pravděpodobně dělají.
někdy chcete stránku, která není moc jako zbytek vašeho webu,ale stále je součástí vašich zkušeností se správou WordPress. Tyto vlastní šablony jsou pro to ideální.
ale ilustruje to jednu z velkých pravomocí vlastních šablon, jako jsou tyto: někdy chcete stránku, která není příliš podobná zbytku vašeho webu, ale stále je součástí vašich zkušeností se správou WordPress. Tyto vlastní šablony jsou pro to ideální. I když je vidíte, že se používají také pro stránky archivů nebo (méně často) kontaktní stránky, tato schopnost je často přehlížena.
a konečně několik praktických rad o šablonách stránek
když chcete vytvořit stránku, která vypadá stejně jako vaše ostatní stránky (ale trochu jinak), začal bych vlastně zkopírováním existujícího souboru z vašeho motivu, pravděpodobně page.php
. Je to jednoduše proto, že pro většinu z nás je snazší něco změnit, než stavět od nuly. Příklad kódu dává šabloně stránky smysl „prázdná bílá stránka“, kde pravděpodobně chcete přidat nebo odebrat některé konkrétní podrobnosti ze stávající šablony page.php
. Odstranění postranního panelu nebo zápatí, například, jsou velmi časté důvody, proč lidé vytvářejí „vlastní šablonu stránky“ ve WordPressu.
jak jsme se zabývali, pokud duplikujete soubor page.php
vašeho motivu, abyste mohli začít vytvářet vlastní šablonu stránky, musíte se ujistit, že přidáte „záhlaví šablony vlastní stránky“, které máme výše. Opět se jedná o“ magickou “ stránku, díky níž tyto šablony fungují. Nyní, jdi dělat úžasné stránky!
Image credit: Infrogmation