Návod k vývoji témat pro WordPress: vytvořte si vlastní téma od nuly do jedné.

Čtení za 3 minuty.
2026-03-16
2026-06-04
2,670
Získávám provize, když nakupujete prostřednictvím níže uvedených odkazů, aniž by vás to něco stálo navíc.

Základy WordPress temat a příprava vývojového prostředí

Než začnete vytvářet vlastní téma pro WordPress, je nezbytné pochopit jeho základní strukturu. Nejzákladnější téma WordPress musí obsahovat alespoň dvě soubory:index.phpstyle.cssMezi nimi jestyle.cssSoubor nejenže definuje vzhled tématu, ale také poznámky v jeho hlavičce obsahují klíčová metadata tématu, jako je název tématu, autor, popis a verze. Právě na základě těchto informací WordPress určuje, zda je daná složka platným tematem.

Potřebujete si připravit lokální vývojové prostředí. Pro rychlé nastavení serverového prostředí obsahujícího PHP a MySQL můžete použít nástroje jako XAMPP, MAMP nebo Local by Flywheel, a poté nainstalovat WordPress. Následně ve složce, kde je instalován WordPress,wp-content/themesV té složce vytvořte novou složku, která bude sloužit jako vaše tematické adresáře. Například můžete vytvořit složku s názvem…my-first-themeTento adresář představuje váš pracovní prostor pro práci na vašem projektu. Doporučujeme používat profesionální editory kódu, jako jsou VS Code nebo PhpStorm, které poskytují vynikající podporu pro PHP, HTML, CSS a JavaScript v podobě výrazného zvýraznění kódu a tipů, což výrazně zvyšuje efektivitu vývoje.

Podrobný výklad struktury hlavních souborů tématu

Funkčně kompletní a strukturálně jasný téma obsahuje sadu standardních souborů, které společně definují vzhled a funkce webové stránky.

Doporučujeme k přečtení. Kompletní průvodce vývojem témat pro WordPress: vytvořte si vlastní web od nuly do jedné.

Role souborů se šablonami a funkcemi

style.cssJedná se o šablonu témata (theme template), přičemž blok komentářů v hlavičce souboru je velmi důležitý. Musí obsahovat určité informace, jinak WordPress tento motiv (theme) nebude schopen rozpoznat. Zde je příklad základní hlavičky:

UltaHost – hosting služby pro weby postavené na platformě WordPress
Záruka vrácení peněz do 30 dnů, neomezený šířka pásma a databáze, bezplatná ochrana proti DDoS útokům. Sleva 501 TP4T při nákupu na 3 roky.
/*
Theme Name: My First Theme
Theme URI: https://example.com/my-first-theme/
Author: Your Name
Author URI: https://example.com/
Description: 这是一个用于学习的自定义WordPress主题。
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: my-first-theme
*/

functions.phpSoubor je “mozkem” tématu – jedná se o speciální šablonový soubor, který slouží k přidávání funkcí daného tématu, registraci menu, nastavení panelů na stránce a k interakci s dalšími základními funkcemi WordPressu. Na tento soubor není možné přistupovat přímo prostřednictvím URL adresy; WordPress jej automaticky načte během inicializace tématu. Zde můžete používat PHP kód a funkce specifické pro WordPress.add_action()add_filter()Čekáme na „hooky“ (speciální funkce), které umožní rozšířit funkce systému.

Funkce souborů šablon

Šablony určují, jak se různé stránky webového stránek zobrazují. WordPress dodržuje určitá pravidla hierarchie šablon; při návštěvě stránky hledá odpovídající šablonu podle jejího prioritního pořadí. Například:
- front-page.php: Slouží k zobrazení stránky nastavené jako domovská stránka.
- home.php„:“ se používá k zobrazení stránky s indexem blogových článků.
- single.php„:“ se používá k zobrazení jednotlivých blogových článků.
- page.php„:“ se používá k zobrazení jednotlivých stránek.
- archive.php„:“ se používá k zobrazení stránek archivů obsahujících kategorie, tagy, autory a další informace.
1. 404.phpZobrazí se, když stránka není nalezena.
- header.phpObsahuje hlavičku stránky (header of the page).) a horní navigační oblast.
- footer.phpObsahuje oblast patice stránky.
- sidebar.phpDefinice obsahu panelu bokového.
- index.phpToto je poslední alternativní šablona, která bude použita v případě, že žádné jiné, konkrétnější šablony neexistují. WordPress ji využije automaticky.

Vytvoření klíčových funkcí tématu

Moderní téma musí obsahovat některé základní funkce, jako je navigační menu, oblast s příslušenstvím a podpora speciálních obrázků k článkům.

Aktivovat funkci navigačního menu

functions.phpVe souboru potřebujete použít…register_nav_menus()Funkce slouží k registraci umístění položek v nabídce. Například k registraci menu “Hlavní navigace”:

Doporučujeme k přečtení. Ovládnutí vývoje temát pro WordPress: Základní příručka a praktické kroky od začátku až po dokonalost

function mytheme_setup() {
    register_nav_menus( array(
        'primary' => __( '主导航菜单', 'my-first-theme' ),
        'footer'  => __( '页脚菜单', 'my-first-theme' ),
    ) );
}
add_action( 'after_setup_theme', 'mytheme_setup' );

Po registraci mohou uživatelé v administraci WordPress v sekci “Vzhled” -> “Menu” přiřadit menu k těmto pozicím. Chcete-li menu zobrazit v šabloně, musíte…header.phpZavolejte to na vhodném místě.wp_nav_menu()Funkce.

Přidání podpory pro miniaplikace.

Šipka (oblast nástrojů) je flexibilní součástí temat WordPressu. Můžete ji využít k různým účelům.register_sidebar()Funkce slouží k registraci jedné nebo více panelů pro přidání doplňkových funkcí („widgetů“).

function mytheme_widgets_init() {
    register_sidebar( array(
        'name'          => __( '主边栏', 'my-first-theme' ),
        'id'            => 'sidebar-1',
        'description'   => __( '在此添加小工具。', 'my-first-theme' ),
        'before_widget' =&gt; '<section id="%1$s" class="widget %2$s">',
        'after_widget'  =&gt; '</section>',
        'before_title'  =&gt; '<h2 class="widget-title">',
        'after_title'   =&gt; '</h2>',
    ) );
}
add_action( 'widgets_init', 'mytheme_widgets_init' );

Po registraci mohou uživatelé v záložce “Vzhled” -> “Příslušenství” v administraci přetáhnout příslušenství do “Hlavního panelu”. Chcete-li, aby panel byl zobrazen v šabloně, musíte…sidebar.phpsingle.phpPoužívá se v souborech typu…dynamic_sidebar()Funkce.

Shared hosting na hosting.com
Vysoký výkon, vybavený procesorem AMD EPYC, úložištěm NVMe SSD a LiteSpeedem, nepřetržitá interní podpora odborníků 24 hodin denně a 7 dní v týdnu, pokročilá bezpečnostní opatření včetně SSL, ochrany proti útokům hrubou silou, malwaru a DDoS, úspora až 731 TB/měsíc.

Implementace tematického stylu a interaktivnosti

Vizuální prezentace témat a interakce s uživateli jsou klíčovými aspekty vývoje front-end stránek.

Zavedení CSS a JavaScript

Nejlepší praxí je zavádět soubory se styly (style sheets) a skripty postupně, tedy jednotlivě, a to pomocí mechanismů typu „enkouování“ (enqueue), místo toho, abyste je přímo zakódovali do HTML kódu. Tím zajistíte správné pořadí závislostí mezi jednotlivými prvky stránky a zabráníte jejich opakovanému načítání.functions.phpV čínštině se používáwp_enqueue_style()wp_enqueue_script()Funkce.

function mytheme_scripts() {
    // 引入主题的主样式表
    wp_enqueue_style( 'mytheme-style', get_stylesheet_uri() );
    // 引入自定义CSS文件
    wp_enqueue_style( 'mytheme-custom-style', get_template_directory_uri() . '/assets/css/custom.css' );
    // 引入jQuery(WordPress已内置)和一个自定义JS文件
    wp_enqueue_script( 'mytheme-navigation', get_template_directory_uri() . '/assets/js/navigation.js', array( 'jquery' ), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'mytheme_scripts' );

get_stylesheet_uri()Funkce pro získávání datstyle.cssURL…get_template_directory_uri()Získat URL adresu adresáře s tematikou.

Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress temát od začátku až po dokonalost

Implementovat responsivní design

Moderní webové stránky musí dobře vypadat na různých typech zařízení. Toho se dosahuje především pomocí CSS mediálních dotazů (Media Queries). Ujistěte se, že…Obsahuje metatagy pro zobrazení obsahu (viewport meta tags), což se obvykle vyskytuje…header.phpDokončeno v čínštině:

<meta name="viewport" content="width=device-width, initial-scale=1">

Poté v svém souboru CSS napíšete pravidla stylů pro různé šířky obrazovek. Například můžete nastavit odlišný layout pro obrazovky s šířkou menší než 768 px:

Shared hosting od InterServeru
Sdílený hosting za 1 TB + 5 TB měsíčně za 2,50 USD, slevový kód tryinterserver pro první měsíc za 1 TB + 5 TB za 0,1 USD, a 461 skriptů cloudových aplikací k jednoduché instalaci.
@media screen and (max-width: 768px) {
    .site-header, .site-main, .site-footer {
        padding: 10px;
    }
    .main-navigation ul {
        flex-direction: column;
    }
}

Závěr

Vývoj tem pro WordPress je systématický proces, který začíná pochopením základní struktury souborů, pokračuje vytvářením klíčových funkcí, jako jsou menu a příslušenství, a nakonec se zaměřuje na implementaci vzhledu a interakcí na straně uživatele. Klíčovým faktorem je dodržování kódovacích standardů WordPressu a hierarchie šablon, stejně jako plné využití dostupných možností.functions.phpAplikace lze rozšiřovat pomocí systémů hooků. Díky nastavení lokálního vývojového prostředí a postupným krokům mohou i začátečníci postupně vytvořit vlastní tematiky s kompletními funkcemi a profesionálním vzhledem. Nezapomeňte, že správná organizace kódu a příslušné poznámky jsou základem pro dlouhodobou údržbu aplikace.

Časté dotazy

Jaké jsou základní programovací jazyky potřebné k vývoji temát pro WordPress?

Pro vývoj tem pro WordPress je nutné ovládat hlavně HTML, CSS a PHP. HTML slouží k vytváření struktur stránek, CSS k řízení stylu a rozvrhu, zatímco PHP je jádrem WordPressu a používá se k zpracování logiky, načítání dat a generování dynamického obsahu. Kromě toho je velmi užitečné znát základy JavaScriptu pro realizaci interaktivních efektů na stránkách.

Jak učinit, aby můj tematický design odpovídal oficiálním standardům WordPressu?

Aby vaše téma splňovalo oficiální standardy WordPressu, doporučujeme dodržovat „Průvodce vývojem WordPress temat“ (WordPress Theme Development Guide) a „Průvodce přezkumem temat“ (Theme Review Guide). Mezi klíčové body patří: používání bezpečných praktik kódování, escapeování všech dynamicky generovaných dat, ověřování a čištění všech vstupních dat; správné načítání souborů CSS a JavaScript; zajištění, aby bylo téma responzivní a dobře vypadalo na různých zařízeních; poskytování dostatečné podpory pro překlady.__()_e()Funkce typu „wait“ obsahují veškerý text, který je možné přeložit; zároveň se vyhýbáme hardcodování klíčových funkcí přímo do samotného tématu (kódu).

Jaký je rozdíl mezi souborem functions.php v hlavní složce projektu a pluginy?

functions.phpSoubor je součástí tématu a jeho funkce jsou vázány na aktuálně aktivní téma. Slouží především k přidávání nebo úpravě vlastností přímo souvisejících s vzhledem a funkcemi tématu, jako je registrační menu, nabídka (barva), přidávání funkcí podpory daného tématu atd. Při změně tématu se tyto nastavení automaticky aktualizují.functions.phpKód uvedený v textu již nebude fungovat.

Pluginy jsou funkční moduly, které jsou nezávislé na konkrétním tématu webové stránky a slouží k přidání specifických funkcí (jako jsou kontaktní formuláře, optimalizace pro vyhledávače, cache atd.). Funkce pluginů nezávisí na daném tématu, a tak i po změně tématu zůstávají pluginy obvykle funkční. Jednoduché pravidlo pro rozlišení je následující: Pokud je nějaká funkce součástí vizuálního vzhledu webové stránky, měla by být integrována do samotného tématu; pokud je to však univerzální funkce, která není vázána na konkrétní design, měla by být vytvořena jako plugin.

Jak ladit chyby v PHP, se kterými se setkáte během vývoje?

Během vývojové fáze se doporučuje zapnout režim ladění WordPressu, aby bylo snazší odhalit chyby. Otevřete adresář s tematikou (theme directory) a…wp-config.phpV souboru najděte příslušné nastavení a změňte ho následovně:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // 将错误日志保存到 /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // 不要在页面上显示错误信息(避免用户看到)

NastaveníWP_DEBUG_LOGtruePoté bude chybová zpráva zapsána do…wp-content/debug.logVe souboru by mělo být vše uspořádáno tak, aby bylo snadné na to nahlížet, aniž by to ovlivnilo výstup na stránce (frontend). Zároveň je nezbytným krokem používat nástroje pro vývojáře v prohlížeči (konzola a kartička „Network“) k ladění problémů s JavaScriptem a CSS.