WordPress – child themes

Child theme nám umožní změnit vzhled nebo funkcionalitu parent šablony. Změny sice můžeme implementovat přímo do originální (parent) šablony. Pochopitelně po aktualizaci originální šablony o ně příjdeme.

Jak vytvořit child theme

Vytvoříme složku v adresáři wp-content/themes. Nepsané pravidlo je pojmenovat složku s child theme jako název originální šablony s připojením řetězce -child na konec. Například chci rozšířit šablonu twentyfifteen pomocí child šablony, tak to pojemenuji twentyfifteen-child.

Následně ve složce s child theme vytvoříme css soubor style.css, který musí obsahovat na začátku komentář.
[php]
/*
Theme Name: Twenty Fifteen Child
Template: twentyfifteen
Version: 0.1.0
Text Domain: twenty-fifteen-child
*/
[/php]

Bez tohoto komentáře nám wordpress nezobrazí v administraci vzhledu > šablony naší child šablonu. Tohle je minimum informací, které komentář musí obsahovat (ok, ještě můžeme vynechat “Version” a “Text Domain”).

Template – název adresáře ve kterém je parent šablona.

Jaké další informace o šabloně můžeme vložit lze zjistit tady https://codex.wordpress.org/Theme_Development#Theme_Stylesheet

Teď když aktivujeme child šablonu, zjistíme že nám zmizely styly. To se stane protože soubory v child šabloně přepíší soubory z parent šablony (takže náš prázdný styl child šablony přepsal styl parent šablony). Tohle neplatí pro functions.php, function.php v child šabloně je načten před functions.php v parent šabloně. Vytvoříme soubor functions.php v naší child šabloně.

Do souboru function.php vložíme následující kód, který zajistí načtení stylů z parent šablony.
[php]
add_action( ‘wp_enqueue_scripts’, ‘enqueue_parent_style’ );</code>

function enqueue_parent_style() {
wp_enqueue_style( ‘parent-style’, get_template_directory_uri().’/style.css’ );
}
[/php]