Novinka: Vizuální editor pro éru AI webů. Poslední dílek skládačky, když chcete upravovat web a ne psát e-maily. www.directedit.dev

💬

Rozdělení Child theme na logické celky

Začíná být vaše Child theme delší a špatně se v ní něco hledá? Rozdělte si ji!

Motivace

Pokud používáte Child theme, tak máte ode mě velkou pochvalu – a od svého webu také, protože si ušetříte další pluginy navíc.

Možná se vám ale na nějakém webu stalo, že Child theme začala být dlouhá a hlavně nepřehledná, zvlášť pokud máte na webu i woocommerce nebo/a spoustu customizací… A určitě vás napadlo, jestli by nešla rozdělit na části. A šla! A má to hned několik výhod:

  1. kód je logicky členěný,
  2. kratší kusy kódu se rychleji zpracovávají komukoli, kdo ho čte a potřebuje upravit (včetně vašeho budoucího já), je to výhoda hlavně pokud na webu pracuje víc lidí,
  3. snadnější hledání chyb (velká výhoda Child theme obecně proti pluginům se snippety),
  4. funkcionality pak můžete snadno přepoužívat na dalších webech, protože si vezmete 1 soubor,
  5. pokud něco nefunguje, snadno to “zakážete” jen tím, že zakomentujete 1 řádek kódu,

Jak na to?

1. Rozdělíte si kód na logické celky

Je dobré rozdělit kód např. podle pluginů, funkce nebo dalších logických kritérií (rozdělení je čistě na vás).
Osobně rozděluji vzlášť kód pro (pokud je třeba):

Díky tomu vznikne hezká a srozumitelná struktura, např.:

//child-theme content:

├── style.css  
├── functions.php  //original file from child theme
├── cust-taxonomies.php  
├── cust-post-types.php  
├── cust-woocommerce.php  
├── cust-rankmath   //(sub)folders are working too!
    ├── cust-rankmath-common-settings.php
    └── cust-rankmath-rich-snippets.php  
// any other code...

2. Vytvoříte si soubory pro jednotlivé kusy kódu

Pokud si vhodně pojmenujete i názvy souborů, snadno a rychle najdete, co hledáte; jméno je čistě na vás.

Upozornění: Pozor, aby se vám nepotkal název souboru s názvem existujícího pluginu, který je na webu, pojmenovat ho “woocommerce.php” opravdu není dobrý nápad (vlastní zkušenost).

Tip: Je dobré zvolit si nějakou předponu, např. podle názvu webu nebo jakokoli jinou.

Příklad jména souboru:

cust-taxonomies.php

Obsah souboru pak začíná direktivou <?php a zbytek už je čiště na vás. Příklad:

<?php 
/**
* Code to add custom taxonomiy to website to avoid install full ACF plugin
*/

//rest of your code...

Tip: Soubor je opradu dobré pojmenovat podle jeho funkce/zaměření, a ne jen tak obecně. Např. jsem psala shortcode, který vložil data z pluginu kalendáře do webu (byla potřeba speciální struktura a builder ji nativně neuměl). Je pak rozdíl pojmenovat soubor:

  • obecně shortcodes.php (který je nic neříkající, zvlášť, když shortcodů máte na webu víc),
  • konrétně calendar.php (protože vedle shortcode můžete mít pro kalednář další pomocné fuknce, které vám vrátí/naformátují data, přidají CSS, a další). V případě většího množství kódu v child theme je správné pojmenování neocenitelné.

3. Napojení do Child theme

Kód pak jednoduše “napojíte” do funcions.php pomocí PHP funkce require_once (cust-taxonomies.php samozřejmě změníte za název svého souboru).

require_once get_stylesheet_directory() . '/cust-taxonomies.php';

require_once get_stylesheet_directory() . '/folder/other-custom-code.php';

Pozn: takto napojit jdou jen PHP soubory. Pokud chcete přidat do webu i CSS nebo JS, na to jsou jiné cesty (buďto přímo do webu nebo pomocí wp_enqueue_style nebo wp_enqueue_scripts).

A máte hotovo.

Takto můžete rozdělit Child theme a na přehledné kousky kódu, a ušetříte čas do budoucna komukoli, kdo tam bude něco hledat/upravovat – včetně svého budoucího já.

Líbil se vám článek? Pošlete ho dál:

Jitka Klingenbergová

Jitka Klingenbergová

Absolventka ČVUT FIT oboru Informatika | Programátorka | Webová vývojářka, konzultantka a mentorka
tvorime@vyladeny-web.cz

Vaše komentáře

Zanechte první komentář

Zpět k tipům

Pravidelná dávka užitečných tipů až do schránky