Od nuly až po pokročilé personalizace: Kompletní průvodce vývojem temat pro WordPress

Čtení za 3 minuty.
2026-03-11
2026-06-04
2,408
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 vývoje témat WordPress a nastavení prostředí

Pokud chcete vytvořit vlastní WordPress téma, nejprve je potřeba nastavit efektivní lokální vývojové prostředí. To vám umožní bezpečně testovat a ladit kód, aniž byste museli používat online server. Lokální prostředí obvykle zahrnuje server Apache nebo Nginx, interpret PHP a databázi MySQL. Integrální nástroje jako XAMPP, MAMP nebo Laravel Valet mohou tyto komponenty nainstalovat jedním kliknutím, což výrazně zjednodušuje proces nastavování.

Pro editaci kódu je velmi důležitý výkonný editor nebo integrované vývojové prostředí (IDE). Mezi populární volby patří Visual Studio Code, PhpStorm nebo Sublime Text, které nabízejí funkce jako výrazové zvýraznění kódu, automatické doplňování textu a integraci s systémy pro správu verzí kódu. Tyto nástroje významně zvyšují efektivitu vývoje.

Po přípravě prostředí potřebujete znát základní strukturu souborů v WordPress tématu. Nejzákladnějším souborem je…style.cssindex.phpMezi nimi jestyle.cssNejde pouze o šablony stylů (style sheets) – ty také plní funkci definování vzhledu stránek (tj. „témata“). Hlava šablony stylů tohoto souboru musí obsahovat specifické poznámky („komentáře“), na základě kterých WordPress rozpozná vaše téma.

Doporučujeme k přečtení. Začínáme od nuly: Kompletní proces vývoje tématu WordPress a praktický návod

Níže je jeden z nejzákladnějších…style.cssPříklad hlavičky souboru:

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: 我的第一个主题
Theme URI: https://example.com/my-first-theme/
Author: 你的名字
Author URI: https://example.com/
Description: 这是一个为学习WordPress主题开发而创建的简洁主题。
Version: 1.0
License: GPL v2 or later
Text Domain: my-first-theme
*/

Dalším nezbytným souborem jeindex.phpJedná se o výchozí šablonový soubor daného tématu. I kdyby původně obsahoval pouze jednu jednoduchou větu “Hello World”, musí být přítomen. Umístěte tyto dva soubory do složky s názvem vašeho tématu (například…).my-first-themePoté tento složek nahráte do adresáře, kde je instalován WordPress./wp-content/themes/V cestě najdete to, co hledáte – můžete ho vidět a aktivovat v záložce “Vzhled” -> “Témata” v administraci WordPressu.

Kerní šablonové soubory a struktura témat

Plně funkční WordPress téma se skládá ze série šablonových souborů, které dodržují určitou hierarchii. Porozumění této hierarchii je základem pro pokročilé přizpůsobení. Když WordPress zpracovává požadavek na stránku, hledá odpovídající šablonový soubor podle typu požadavku (např. úvodní stránka, stránka článku, kategorie atd.) a to v pořadí dle priority.

Hlavní stránka se obvykle skládá zfront-page.phphome.phpPokud oba tyto soubory neexistují, bude systém vrácen na předchozí stav („zpětný postup“).index.phpRenderování jednotlivých článků se řídí následujícími pravidly:single-{post-type}-{slug}.php -> single-{post-type}.php -> single.php -> singular.php -> index.phpPořadí vyhledávání. Například blogový článek bude vyhledáván přednostně.single-post.phpA při použití vlastního typu článku “Produkt” bude proveden vyhledávání…single-product.php

Kromě stránkových šablon potřebuje téma také několik klíčových souborů pro organizaci struktury a funkcí. Mezi ně patří:header.phpfooter.phpJsou zodpovědné za vytvoření částí stránky zvaných „hlava“ (header) a „dolní část“ (footer). V souborech šablon můžete tuto funkci realizovat pomocí příslušných kódových bloků nebo direktiv.get_header()get_footer()Funkce slouží k jejich zavádění do kódu, což zajišťuje možnost opakovaného použití tohoto kódu.

Doporučujeme k přečtení. Průvodce vývojem tem pro WordPress: Vytvoření vlastní temy od nuly

functions.phpSoubory představují “mozek” tématu – slouží k přidávání funkcí daného tématu, registraci menu, nastavování oblastí pro příslušenství („widgety“), definování rozměrů obrázků atd., a to bez nutnosti měnit samotné základní soubory. Například zde můžete použít…add_theme_support()Funkce slouží k aktivaci funkce zobrazení přehledů článků (tzv. „snímků“ článků).

// 在 functions.php 中启用文章特色图像
add_theme_support( 'post-thumbnails' );

Dalším důležitým souborem jesidebar.phpDefinuje HTML strukturu bočního panelu.get_sidebar()Při volání funkcí můžete vložit boční panel na libovolné místo ve šabloně. Pro dynamické správě obsahu bočního panelu je nutné…functions.phpPoužijte to v čínštině.register_sidebar()Funkce registruje jednu nebo více oblastí pro přidávání doplňkových funkcí („widgetů“).

Vylepšení funkcí tématických profilů a dynamického obsahu

Po dokončení výstavby základní infrastruktury je dalším krokem integrace dynamických dat a funkcí WordPressu. To zahrnuje použití klíčových funkcí WordPressu a “The Loop” k zobrazení obsahu.

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.

“Cyklus” je základní struktura PHP kódu v WordPressu, která slouží k načítání článků z databáze a jejich zobrazení na webových stránkách. Tato struktura zkontroluje, zda na aktuální stránce existují nějaké články, a pokud ano, prochází jednotlivé články a vypisuje jejich obsah. Typický kód cyklu vypadá následovně:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <article>
        <h2><p><strong> Řekněte mi něco o sobě.</strong></p></h2>
        <div class="entry-content">
            <?php the_content(); ?>
        </div>
    </article>
<?php endwhile; else : ?>
    <p><?php esc_html_e( '抱歉,没有找到任何文章。' ); ?></p>
<?php endif; ?>

Uvnitř cyklu můžete použít řadu šablonovacích značek k výstupu dat článku, například:the_title()the_content()the_permalink()the_post_thumbnail()Atd. Tyto funkce automaticky zobrazí (vypíšou) obsah. Pokud potřebujete získat hodnotu, aniž by byla přímo vypsaná, můžete použít odpovídající funkci “get_”, např.:get_the_title()

Vlastní menu jsou standardem moderních témat.register_nav_menus()Funkce je v příloze. functions.phpPo registraci umístění jídelních jednotek mohou uživatelé tyto menu spravovat v záložce “Vzhled” -> “Menu” v administraci. Poté to provedou v souborech šablon (které jsou obvykle…header.phpV tomto případě se používáwp_nav_menu()Funkce slouží k renderování menu.

Doporučujeme k přečtení. Ultimátní průvodce vývojem temát pro WordPress: Od základů až po praktické využití při personalizaci

Pro zlepšení mezinárodní podpory tématu je nutné načíst textová pole.functions.phpV čínštině se používáload_theme_textdomain()Funkce slouží k načtení souborů s překlady. Zároveň by měly být ve všech částech kódu všechny řetězce, které potřebují být přeloženy, obaleny pomocí překladové funkce.__()K návratu přeloženého řetězce znaků._e()Používá se k přímému zobrazení (výstupu).

// 加载主题文本域
function my_theme_setup() {
    load_theme_textdomain( 'my-first-theme', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

// 在模板中使用翻译函数
echo '<p>' . esc_html__( '你好,世界!', 'my-first-theme' ) . '</p>';

Pokročilá personalizace a vývoj podtemat

Když potřebujete upravit existující téma, ale zároveň chcete v budoucnu bezpečně aktualizovat mateřské téma, je nejlepší praxí vytvořit dceřiné téma. Dceřiné téma dědí všechny funkce mateřského tématu a vy potřebujete pouze přepsat potřebné soubory v dceřiném tématu nebo přidat nové funkce.

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.

Vytvoření podtématu je velmi jednoduché. Nejprve v/wp-content/themes/V adresáři vytvořte nový složku, například…my-child-themePoté v něm vytvořte…style.cssSoubor – jeho hlavička (header) musí být správně nastavena.Template:Pole deklaruje název adresáře nadřazeného tématu.

/*
Theme Name: 我的子主题
Template: twenty-twenty-six
Version: 1.0.0
*/

Dále, v rámci podtémat…style.cssV tomto kontextu můžete vytvořit nová CSS pravidla, která přepsají styly definované v mateřském tématu. Pokud je potřeba upravit soubory PHP šablon, stačí změnit příslušné soubory v mateřském tématu.header.phpZkopírujte obsah do adresáře podtématu a proveďte úpravy. WordPress poté automaticky přednostně načte verzi obsaženou v podtématu.

Pro přidávání, odstraňování a úpravy funkcí má každý podtéměr své vlastní pravomoci.functions.phpSoubor. Důležitým bodem je, že podtémata…functions.phpNezastíní nadřazené téma, ale bude načteno předem. To znamená, že do něj můžete přidávat nové funkce nebo jej používat.remove_action()add_filter()Čekáme na „hooky“, které umožní změnit chování mateřského tématu (parent theme).

Pokročilá personalizace také zahrnuje využití systému hooků (Hooků) v WordPressu, včetně akcí (Actions) a filtrů (Filters). Například můžete použít…wp_enqueue_scriptsPro správné přidání skriptů a šablon je třeba postupovat podle určitých pravidel, aby byly načteny v správném pořadí a nedocházelo k jejich vzájemným konfliktům.

// 在子主题的 functions.php 中安全地加入自定义脚本
function my_child_theme_scripts() {
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( 'parent-style' ) // 声明依赖父主题样式
    );
    wp_enqueue_script( 'custom-script',
        get_stylesheet_directory_uri() . '/js/custom.js',
        array( 'jquery' ),
        '1.0',
        true
    );
}
add_action( 'wp_enqueue_scripts', 'my_child_theme_scripts' );

Závěr

Vývoj tem pro WordPress začíná zvládnutím základní struktury souborů a postupně se rozšiřuje na úroveň šablon, volání dynamických dat a přizpůsobení pokročilých funkcí. Vytvořením lokálního vývojového prostředí lze lépe porozumět celému procesu vývoje.style.cssindex.phpheader.phpfooter.phpfunctions.phpDíky funkci klíčových souborů mohou vývojáři vytvořit tematika s kompletními funkcemi. Důležitým faktorem při generování obsahu je správné použití “cyklů” a šablonovacích značek. Použití modelu vývoje podtematik spolu s efektivním využitím silného systému hooků v WordPressu vám umožní dosáhnout hluboké a rozšiřitelné personalizace, přičemž zároveň zachováte udržovatelnost kódu. Dodržováním těchto osvědčených postupů se můžete z počátečníka stát vývojářem tematik pro WordPress schopným vytvářet profesionální řešení.

Časté dotazy

Je nutné ovládat PHP pro vývoj WordPress tématu ###?
Ano, PHP je nezbytnou dovedností při vývoji temat pro WordPress. Ačkoli HTML, CSS a JavaScript zajišťují vzhled a interakce na straně uživatele, jádro temat, získávání dynamických dat (jako jsou články, stránky, obsah menu), organizace a volání šablonových souborů závisí na PHP. Sám WordPress a mnoho jeho klíčových funkcí jsou napsány v PHP.

Proč moje vlastní styly neplatí (tj. nejsou aplikovány na webové stránky)?

To je obvykle způsobeno problémy s prioritou CSS stylů nebo pořadím jejich načítání. Nejprve zkontroluj nástroje pro vývojáře v prohlížeči a ujisti se, zda jsou vaše CSS pravidla aplikována, nebo zda nebyla překryta jinými pravidly s vyšší prioritou. Dále se ujistěte, že váš soubor se styly byl správně načten prohlížečem.wp_enqueue_style()Funkce byla správně přidána do fronty a byly zkontrolovány její závislosti a pořadí načítání. Při vývoji podtémat nezapomeňte…style.cssSprávně deklaruje závislost na stylu nadřazeného tématu.

Jak vytvořit stránku archivu pro vlastní typ článku?

Chcete-li vytvořit stránku archivu pro vlastní typ článku, musíte dodržovat pravidla hierarchie šablon v WordPressu. Například pro typ článku s názvem…productPro vlastní typy článků v WordPressu se systém bude poroučovat postupně (od prvního k poslednímu).archive-product.phparchive.phpA nakonec je…index.phpProto stačí v hlavním adresáři tématu vytvořit soubor s názvemarchive-product.phpStačí použít šablonový soubor a v něm využít “cykly” k vytvoření obsahu všech článků o “produktech”.

Jaká je vztah mezi soubory functions.php podřízených (dceřích) a hlavní (rodičovské) tematiky?

podtématickýfunctions.phpSoubor a nadřazené témafunctions.phpNejde o vztah překrytí, ale o vztah doplnění. Když se WordPress načítá, nejprve načte podtémata (subtémata).functions.phpA poté se načte nadřízené téma (parent theme).functions.phpTo znamená, že můžete pracovat s podtématy (subtopics).functions.phpDo témat můžete přidávat nové funkce, nebo pomocí hooků v WordPressu odstranit či upravit funkce přidané v mateřském (rodičovském) tématu. Tímto způsobem můžete bezpečně přizpůsobit chování tématu podle svých požadavků.