Jak vytvořit child theme pro Vaše téma WordPress
Pokud upravíte soubory šablony přímo, o svou práci při příští aktualizaci této šablony přijdete. Tomu zabrání podřízená šablona (child theme). Je to malá šablona, která přebírá vše z jiné šablony, tzv. nadřazené šablony, kromě toho, co do ní sami vložíte. Nadřazenou šablonu můžete dál běžně aktualizovat. Zde se dočtete, kdy podřízenou šablonu potřebujete a jak ji vytvoříte pomocí Správce souborů v DirectAdmin.
Potřebujete ji?
| Chcete | Potřebujete podřízenou šablonu? |
|---|---|
| Upravit blokovou šablonu v Editoru webu (Vzhled > Editor): barvy, písma, záhlaví a zápatí | Ne. Tyto úpravy jsou uloženy v databázi a při aktualizaci zůstanou zachovány. |
| Přidat několik řádků CSS | Ne. Použijte Dodatečné CSS v Přizpůsobení (klasická šablona) nebo ve Stylech v Editoru webu. |
| Přidat funkci, která nesouvisí se vzhledem, například propojení nebo formulář | Ne. Ta patří do pluginu, aby fungovala i po změně šablony. |
| Změnit soubor se šablonou stránky, přidat hodně vlastního CSS nebo PHP kód, který souvisí se vzhledem | Ano. |
Používáte blokovou šablonu? Pak to nejprve zkuste v Editoru webu. Pokud chcete své úpravy z Editoru webu uložit do souborů, může Vám podřízenou šablonu vytvořit oficiální plugin Create Block Theme.
Krok 1: najděte složku nadřazené šablony
- V DirectAdmin otevřete Správce souborů. Viz Otevření Správce souborů: složky ve Vašem balíčku.
- Přejděte do
domains/example.com/public_html/wp-content/themes. - Poznamenejte si přesný název složky Vaší šablony, například
hoofdthema. Jde o název složky, nikoli o název, který vidíte ve WordPressu.
Krok 2: vytvořte složku a style.css
- Ve složce
themesklikněte na Nová složka a vytvořte napříkladhoofdthema-child. - Otevřete tuto složku, klikněte na Nový soubor a vytvořte
style.css. - Klikněte na soubor pravým tlačítkem myši, zvolte Upravit, vložte níže uvedenou hlavičku a klikněte na Uložit.
/* Theme Name: Hoofdthema Child Template: hoofdthema Description: Eigen aanpassingen voor example.com Version: 1.0.0 */ /* Je eigen CSS komt hieronder. */
Nejdůležitější je řádek Template:. Musí v něm být přesně název složky nadřazené šablony, se stejnými velkými písmeny a pomlčkami. Pokud nesouhlasí, WordPress oznámí, že nadřazená šablona chybí.
Krok 3: functions.php nebo theme.json
Klasická šablona: ve stejné složce vytvořte soubor functions.php, který načte Váš stylopis:
<?php
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_style(
'hoofdthema-child',
get_stylesheet_uri(),
array(),
wp_get_theme()->get( 'Version' )
);
} );
Zda nadřazená šablona načítá svůj stylopis sama, se liší podle šablony. Podívejte se do dokumentace své šablony. Pokud Váš web po aktivaci vypadá holě, musíte načíst i stylopis nadřazené šablony, pomocí get_template_directory_uri() . '/style.css'. Soubor functions.php podřízené šablony nenahrazuje soubor nadřazené šablony: načítají se oba, podřízený jako první. Proto nikdy nekopírujte funkce ze souboru functions.php nadřazené šablony, protože duplicitní názvy funkcí způsobí kritickou chybu.
Bloková šablona: soubor functions.php obvykle není potřeba. Chcete-li například jinou paletu barev, vytvořte vlastní theme.json. WordPress jej sloučí se souborem nadřazené šablony, takže do něj uvedete jen to, co chcete změnit.
Chcete-li upravit šablonu stránky, zkopírujte pouze tento jeden soubor z nadřazené šablony na stejné místo v podřízené šabloně a upravte kopii. WordPress hledá nejprve v podřízené šabloně a poté v nadřazené. Nekopírujte vše, jinak už nebudete dostávat vylepšení nadřazené šablony.
Krok 4: aktivace
- Ve WordPressu přejděte do Vzhled > Šablony. Vaše podřízená šablona je v seznamu. Klikněte na Aktivovat.
- Zkontrolujte svůj web: záhlaví, menu, widgety a barvy. V případě potřeby znovu nastavte menu a nastavení Přizpůsobení.
- Nadřazenou šablonu ponechte nainstalovanou a udržujte ji aktuální. Bez nadřazené šablony podřízená šablona nefunguje.
Vytváříte podřízenou šablonu raději na svém počítači? Pak složku zabalte do souboru zip a nahrajte ji ve WordPressu v Vzhled > Šablony tlačítkem Přidat šablonu a poté Nahrát šablonu. Nebo složku nahrajte pomocí Správce souborů nebo SFTP do wp-content/themes, viz Nahrávání a stahování souborů.
Návrat k původní šabloně
V Vzhled > Šablony znovu aktivujte nadřazenou šablonu. Pokud se kvůli chybě v podřízené šabloně nedostanete do administrace, přejmenujte ve Správci souborů složku podřízené šablony, například na hoofdthema-child-uit. WordPress se pak vrátí k výchozí šabloně, pokud je ještě nainstalována. Více o tom v článku Chyba 500 nebo „kritická chyba“ na Vašem webu (i po aktualizaci WordPressu).
Další informace
- Child themes na developer.wordpress.org (anglicky)
Chcete se dozvědět více? Absolvujte bezplatný kurz WordPressu, lekci 5.2 Vytvoření podřízené šablony.
