WordPress: Jak upravit šablonu

..aby ji bylo možné aktualizovat? Na první pohled si  možná řeknete, že je to snadné, vždyť je to PHP a prostě to upravíme. Ale to byste brzy zplakali nad výdělkem! A já vám vysvětlím proč.

Je to častá chyba – potřebujete změnit vzhled webu, tak více či méně odborným způsobem změníte soubory šablony. Dosáhnete svého cíle, ale nevědomky si zakládáte na velký problém. Šablonu totiž nemůžete aktualizovat, jinak byste o své úpravy přišli. Necháváte tedy šablonu neaktualizovanou.

To samozřejmě není dobrý stav, protože originální šablona se pravděpodobně nadále vyvíjí, autoři opravují chyby a přidávají nové funkce. Určitě byste tyto změny chtěli i ve své variantě, ale jak to udělat, když při aktualizaci přijdete o své úpravy?

Podřízená šablona

WordPress má pro tyto účely mechanismus pojmenovaný child theme, česky „podřízená šablona“. Samozřejmě tedy existuje parent theme, česky „rodičovská šablona“. Rodičovskou šablonou je originální šablona, kterou můžete nadále aktualizovat, ale nikdy ji nebudete přímo upravovat. Podřízenou šablonou je pak odvozená šablona, do níž umístíte pouze změny vůči rodičovské šabloně.

Založíte ji v novém adresáři (např. wp-content/themes/coumiwp/) pomocí souboru style.css a functions.php. Ve style.css je nezbytné vložit nejprve hlavičku, v níž uvedete název adresáře, kde je uložena rodičovská šablona (jak vidíte, nejde o její název, ale skutečně adresář). Zde je to adresář generatepress:

/*
Theme Name: Co umí WordPress
Theme URI: https://coumiwp.cz
Description: Vzhled webu Co umí WordPress
Author: Vlastimil Ott
Author URI: https://wp-admin.cz
Template: generatepress
Version: 0.1
Text Domain: cowp
*/

Nyní tedy můžete tuto šablonu aktivovat v sekci Vzhled > Šablony a můžete ji taky upravovat. Rodičovská šablona zůstává netknutá a aktuální, změny ukládáte do své podřízené šablony. Podřízená šablona převezme drtivou většinu nastavení od rodiče, obvykle vypadne jen propojení nabídek s pozicemi, takže je v sekci Vzhled > Menu potřeba znovu potvrdit, kde se která nabídka má zobrazovat.

Do souboru functions.php vkládáte obsluhy hooků nebo upravujete načítání skriptů a stylů. Obvykle je nutné načíst styl rodičovské šablony:

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

Podřízená šablona kopíruje strukturu rodičovské, takže lze téměř vždy nahradit např. soubor template-parts/loops/loop1.php, který je v rodičovské šabloně, souborem v podřízené šabloně, který leží ve stejné adresářové struktuře.

Toho se využívá v případě WooCommerce – jednotlivé změnové soubory ukládáte do adresáře woocommerce v podřízené šabloně podle struktury, kterou najdete přímo v balíku WooCommerce. Můžete tak měnit produktovou stránku, výpisy produktů nebo texty e-mailů.

Hledáte místo, kde získat šablonu vzhledu? Vyberte si z našeho seznamu: WordPress šablony zdarma i placené.

Newsletter pro správce WordPressu

Jste na volné noze a staráte se o klientské weby na WordPressu? Nebo pracujete ve škole, neziskovce či firmě a dostali jste web na starost? Nikdo vás pořádně neproškolil, ale čekají od vás, že to všechno zvládnete „sami od sebe“? A vy se chcete stát skutečně úspěšným správcem WordPressu?

Pomůžeme vám, tady jste na správném místě.

Každou středu posíláme odborný newsletter pro správce WordPressu. Je o tom, jak web optimalizovat, řešit jeho problémy, provádět obtížné úkoly a udržovat ho v technické kondici. Vysvětlujeme složité pojmy nebo důležité novinky.

1 komentář u „WordPress: Jak upravit šablonu“

Napsat komentář