Každému pokročilejšímu uživateli WordPressu se již nejspíš stalo, že potřeboval udělat nějaké drobné (nebo větší) úpravy v používané šabloně. Pokud používáte šablonu, jejímž autorem nejste, vystavujete se riziku, že vaše úpravy budou při příští aktualizaci smazány.

Stalo se to i mně, než jsem objevil kouzlo tzv. child theme, tedy podřízených šablon. Ty vždy vycházejí z nějaké konkrétní šablony a fungují geniálně: v souborech šablony, které potřebujete upravit, uděláte úpravy a uložíte je do samostatného adresáře.

WordPress primárně vykresluje šablonu pomocí souborů podřízené šablony a až sekundárně pomocí souborů nadřízené šablony (tj. pokud mu nějaký soubor pro vykreslení chybí v podřízené šabloně, tak teprve tehdy hledá daný soubor v nadřízené šabloně). V případě aktualizace šablony budou aktualizovány pouze původní soubory, podřízené šablony se aktualizace nijak nedotkne.

Základní vytvoření child theme je poměrně jednoduché a budeme k tomu potřebovat pouhé 3 věci:

  1. adresář s child theme
  2. soubor style.css
  3. soubor functions.php

Adresář pro child theme

Ve složce, kde jsou uloženy všechny ostatní šablony (tedy wp-content/themes) vytvořte nový adresář. V případě child theme je pro přehlednost dobré použít název nadřízené šablony a použít přídomek „-child“.

V mém případě tvořím child theme k šabloně Twocolumn, která je uložena ve složce twocolumn. Adresář podřízené šablony bude twocolumn-child. Novému adresáři nezapomeňte nastavit správná práva.

Úprava hlavičky ve style.css

V novém adresáři pak vytvořte soubor style.css. WordPress tento soubor používá také pro identifikaci šablon. Proto si najděte soubor style.css nadřazené šablony a zkopírujte si z něj hlavičku, která bude vypadat nějak takto:

A vložte ji do souboru style.css podřízené šablony. Upravte název – já vkládám do názvu vždy přídomek „Child Theme“ a ponechávám původní název šablony. Pod tímto názvem najdete šablonu v nastavení WordPressu.

Následně do hlavičky přidejte nový řádek s parametrem Template: – ten bude WordPressu říkat, že jde o child theme a odkazovat na jeho nadřazenou šablonu, takže do něj patří její název. V mém případě je to twocolumn:

Vytvoření functions.php

Posledním krokem je vytvoření souboru functions.php. Opět musíme do proměnné $parent_style vložit název nadřazené šablony – v mém případě twocolumn.

Soubor functions.php slouží pro doplňkové skripty, kterými můžete upravit funkčnost samotného WordPressu – v tomto případě zajišťuje správnou funkčnost child theme, nicméně do tohoto souboru můžete dříve nebo později přidat i další skripty.

Poté stačí šablonu aktivovat v nastavení WordPressu. Původní (nadřazenou) šablonu nemažte, ale ponechte ji zde pro správnou funkčnost vašeho webu.