Vývoj WordPress témat od začátku až po pokročilou úroveň: kompletní návod k vytvoření vlastního tématu.

Čtení za 3 minuty.
2026-03-14
2026-06-04
2,586
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 temát pro WordPress a příprava prostředí

Než začnete vytvářet vlastní téma pro WordPress, je nezbytné si nastavit stabilní lokální vývojové prostředí. To vám umožní vyvíjet a testovat bez ovlivnění webové stránky online a zároveň výrazně zvýší vaši pracovní efektivitu. Mezi běžně používané sady lokálních serverů patří Local by Flywheel, XAMPP, MAMP nebo Laragon. Vyberte si nástroj, se kterým jste seznámeni a který vám vyhovuje.

Kromě serverového prostředí je také nezbytný výkonný editor kódu. Doporučujeme použít Visual Studio Code, který disponuje bohatým ekosystémem doplňků – např. doplňky určenými k výraznému zvýraznění kódu pro WordPress, doplňkem Live Server pro reálné předvádění obsahu na serveru v reálném čase, a také výkonnými funkcemi pro podporu při psaní kódu. Tyto nástroje vás budou doprovázet po celý vývojový proces.

Dále je potřeba pochopit základní strukturu WordPress témat. Nejzákladnější téma musí obsahovat alespoň dvě soubory:index.phpstyle.cssMezi nimi jestyle.css Soubory nejsou pouze šablony stylů, ale také “občanské průkazy” témat. Blok komentářů na jejich vrcholu obsahuje metadata o tomto tématu, která jsou následně načtena a zobrazena v administraci WordPressu.

Doporučujeme k přečtení. Vytvoření dokonalé webové stránky: Kompletní průvodce vývojem vlastního tématu pro WordPress od nuly

Níže je… style.css Standardní příklad poznámky v hlavičce 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-custom-theme
Author: 你的名字
Author URI: https://example.com
Description: 这是一个为学习而创建的WordPress自定义主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-custom-theme
*/

Text Domain Slouží k internacionalizaci a představuje identifikátor pro následné vícejazyčné překlady. Složku obsahující tyto informace umístěte do adresáře instalace WordPress. wp-content/themes/ V té složce se váš motiv zobrazí v seznamu “Vzhled” -> “Motivy” v pozadí systému, a poté jej můžete aktivovat.

Vytvoření základní šablony pro tematický soubor

Plně funkční téma se skládá z řady šablonových souborů, které dodržují systém hierarchie šablon WordPress. Systém automaticky vybere nejvhodnější šablonový soubor podle typu stránky, kterou uživatel navštíví (např. úvodní stránka, stránka článku, stránka kategorie), a na základě toho zobrazí obsah.

Porozumění struktuře šablon a vytvoření základních šablon

Úroveň šablon je klíčovým konceptem při vývoji temat pro WordPress. Například, když se přistupuje k článku na blogu, WordPress bude vyhledávat postupně:single-post.php -> single.php -> singular.php -> index.phpVývojáři stačí vytvořit požadované šablonové soubory.

Nejprve vytvoříme několik nejzákladnějších šablonových souborů. Kromě těch nezbytných… index.phpstyle.cssPotřebujete alespoň vytvořit… header.php(Výška stránky),footer.php(Na spodní straně webu) A functions.php(Soubor s funkcemi témata) Pomocí vestavěných funkcí WordPress můžeme tyto části začlenit do hlavní šablony.

Doporučujeme k přečtení. Vývoj tem pro WordPress: Kompletní průvodce od základů po mistrovství – Vytváření vlastních webových stránek

index.php V typické struktuře kódu je to následovně:

<?php get_header(); ?>

<main id="primary" class="site-main">
    &lt;?php
    if ( have_posts() ) :
        while ( have_posts() ) :
            the_post();
            // 显示每篇文章的内容
            the_title( &#039;<h2>', '</h2>' );
            the_content();
        endwhile;
    else :
        echo '<p>暂无内容。</p>';
    endif;
    ?&gt;
</main>

Implementace cyklu článků a výstupu jejich obsahu

V uvedeném kódu…have_posts()the_post() Funkce tvoří “hlavní cyklus”, což je základní mechanismus, který WordPress používá k výstupu seznamu článků na aktuální stránce. Uvnitř tohoto cyklu můžete používat řadu šablonovacích značek k zobrazení informací o článcích. the_title() Výstupní nadpis:the_content() Vyveďte celý obsah,the_excerpt() Vytvořte shrnutí obsahu textu.the_permalink() Získat odkaz na článek.

Pro zlepšení udržovatelnosti a znovupoužitelnosti kódu doporučuje WordPress, abyste kód používaný k zobrazení jednotlivých článků v cyklech extrahovali do samostatné části šablony. Můžete vytvořit šablonu s názvem… content.phptemplate-parts/content.php Soubor, a poté jej použijte v hlavním cyklu. get_template_part( ‘template-parts/content’, get_post_format() ) Použijte tento způsob k jeho volání. Díky tomu je velmi snadné vytvářet různé zobrazení pro různé typy článků (jako jsou fotogalerie, citace atd.).

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.

Vylepšení funkcí tématu pomocí souboru Functions.php

functions.php Soubor představuje “centrální kontrolní bod” vašeho tématu. Není to šablonový soubor, ale PHP soubor, který se automaticky načte při inicializaci tématu. Zde probíhají všechny vylepšení funkcí tématu, úpravy základních funkcí WordPressu, stejně jako registrace a řazení stylových skriptů.

Registrování navigačního menu a bočního panelu

Moderní design obvykle vyžaduje podporu pro uživatelsky definované navigační menu. Musíte tedy zajistit, aby bylo možné toto menu nastavit podle potřeb uživatelů. functions.php Použijte to v čínštině. register_nav_menus() Funkce slouží k deklaraci umístění jídelních jednotek, které dané téma podporuje.

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

Poté můžete… header.phpfooter.php Na odpovídající pozici použijte… wp_nav_menu( array( ‘theme_location’ => ‘primary’ ) ) Použijte toto menu k volání.

Doporučujeme k přečtení. Prozkoumání vývoje temát pro WordPress: Kompletní průvodce od základů až po pokročilé znalosti

Stejně tak, pokud chcete pro widgety poskytnout nabídku (sidebar) nebo podpisovou lištu (footer), je potřeba použít… register_sidebar() Funkce jsou registrovány. To umožňuje uživatelům přidávat obsah do těchto oblastí pomocí rozhraní “Příslušenství” („Plugins“) v administraci WordPressu prostřednictvím přetahování.

Přidání podpory temat a správy stylových skriptů

Mnoho základních funkcí WordPressu může být aktivováno pouze po tom, co téma výslovně deklaruje jejich podporu. To se provádí pomocí konfiguračních nastavení v souborech, které téma obsahuje. add_theme_support() Implementace funkcí. Například je podpora pro speciální obrázky k článkům, vlastní loga, shrnutí článků atd.

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.
add_theme_support( 'post-thumbnails' ); // 支持特色图像
add_theme_support( 'custom-logo' ); // 支持自定义Logo
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) ); // 支持HTML5标记

Správa a načítání souborů CSS a JavaScript musí dodržovat “queuing” (čekací) mechanismus WordPressu, tedy jejich použití musí být řízeno určitými pravidly. wp_enqueue_style()wp_enqueue_script() Funkce. Tím je zajištěno správné zpracování závislostí a předchází konfliktům mezi skripty. Správný postup je připojit tyto operace řazení („queuing operations“) k odpovídajícím procesům. wp_enqueue_scripts Na tomhle háčku.

function my_custom_theme_scripts() {
    // 引入主样式表
    wp_enqueue_style( 'my-custom-theme-style', get_stylesheet_uri() );
    // 引入自定义JavaScript文件
    wp_enqueue_script( 'my-custom-theme-script', get_template_directory_uri() . '/js/main.js', array(), false, true );
}
add_action( 'wp_enqueue_scripts', 'my_custom_theme_scripts' );

Tématické stylizování a pokročilé personalizace

Po dokončení vývoje základních funkcí se zaměření přesouvá na vizuální prezentaci tématu. Při vývoji moderních WordPress témat se důrazně doporučuje používat responzivní design, aby webové stránky fungovaly optimálně na všech zařízeních – od mobilních telefonů po počítače.

Využití responsive designu a CSS architektury v aplikacích

Můžete psát CSS od nuly, nebo použít CSS frameworky jako Bootstrap nebo Tailwind CSS, které urychlí vývoj. Klíčové je využívat mediální dotazy (Media Queries) k aplikaci různých pravidel stylů podle velikosti obrazovek. Kromě toho může rozumná architektura CSS kódu (např. názvosloví BEM) učinit váš kód přehlednějším a snazším na údržbu.

Při převodu návrhu na kód je důležité plně využít třídy `body` a `article`, které generuje WordPress. WordPress automaticky přidá mnoho CSS tříd na základě typu stránky a ID článku do kontejnerů jednotlivých článků. .home.single-post.post-id-123Tyto třídy vám poskytují velmi přesné selektory stylů.

Integrace vlastních nastavení a možností témata

Aby uživatelé mohli upravovat vzhled témat bez nutnosti měnit kód (např. změny barev, nahrávání loga), poskytuje WordPress API “Customizer”. Pomocí něj můžete do přehledného, v reálném čase zobrazovaného rozhraní pro úpravy přidávat možnosti nastavení (settings) a ovládací panely (controls).

Níže je příklad jednoduchého způsobu, jak přidat barvu nadpisu webové stránky. Tento kód by měl být přidán do… functions.php Střed:

function my_custom_theme_customize_register( $wp_customize ) {
    // 添加一个设置项(Setting),用于保存值到数据库
    $wp_customize->add_setting( 'header_title_color', array(
        'default'           => '#333333',
        'sanitize_callback' => 'sanitize_hex_color',
        'transport'         => 'postMessage', // 支持实时预览
    ) );

// 添加一个颜色选择器控件(Control)
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'header_title_color', array(
        'label'    => __( '标题颜色', 'my-custom-theme' ),
        'section'  => 'colors', // 放入现有的“颜色”板块
        'settings' => 'header_title_color',
    ) ) );
}
add_action( 'customize_register', 'my_custom_theme_customize_register' );

Poté potřebujete v rámci daného tématu… V některých částech kódu (nebo v samostatném souboru CSS) se používá… get_theme_mod(‘header_title_color’) Funkce získá hodnoty nastavené uživatelem a zobrazí je jako vložený CSS kód.

Závěr

Vývoj tem pro WordPress je postupný proces, který začíná pochopením základní struktury a pokračuje osvojením pokročilých API. Klíčovým aspektem je flexibilní využití systému úrovní šablon k organizaci souborů. functions.php Soubory a sada „hooků“ slouží k rozšíření funkcionalit a dodržování standardů WordPressu (jako je řazení skriptů, API pro vlastní nastavení – „customizers“) za účelem vytvoření uživatelsky přívětivého produktu. Počínaje vytvořením těch nejjednodušších… index.phpstyle.css Začněte postupně přidávat šablony, menu, podporu pro příslušenství a vlastní možnosti – tak budete schopni vytvořit profesionální téma s vysokou funkcionalitou, pěkným designem a snadnou údržbou. Praxe je nejlepším způsobem učení, a neustálé zkoušení spolu s prostudováním oficiálních dokumentů pro vývojáře je klíčem k zlepšení vašich dovedností.

Časté dotazy

Je nutné se učit PHP pro vývoj tem pro WordPress?

Ano, znalost PHP je nezbytná pro vývoj temát pro WordPress. Sám WordPress je totiž napsán v PHP a všechny šablony (např. index.php, single.php) i funkční soubory (functions.php) jsou také v PHP. Potřebujete ovládat základní syntaxi PHP, použití funkcí a umět kombinovat PHP s HTML, abyste mohli dynamicky vypisovat obsah článků, zpracovávat logiku a volat klíčové funkce WordPressu.

Jak zajistit, aby můj téma podporovalo vícejazyčné překlady?

Chcete-li, aby váš produkt nebo služba podporovala internacionalizaci, musíte postupovat podle následujících kroků: Nejprve… style.css Hlavní poznámky a functions.php Při načítání textového pole se musí používat konzistentní název textového pole, např. “my-custom-theme”. Dále je nutné ve všech částech tématu, kde je potřeba provést překlad, použít funkce pro překlad v WordPressu. ( ‘Hello World’, ‘my-custom-theme’ )esc_html( ‘Menu’, ‘my-custom-theme’ )Na závěr použijte nástroj, jako je Poedit, k prohledání vašich souborů temat a vytvoření… .pot Šablony souborů – překladatelé mohou na základě nich vytvářet verze dokumentů v různých jazycích. .po.mo Soubor. Prostřednictvím. load_theme_textdomain() Funkce načte tyto překladové soubory a váš téma bude zobrazovat obsah ve správném jazyce podle nastavení webového prostředí.

Při vývoji témat (themes) jaký je vztah mezi podtematy (subtopics) a hlavním tématem (parent theme)?

Podtémata jsou nezávislá témata vytvořená na základě mateřského tématu. Umožňují vám upravovat a rozšiřovat funkce a vzhled mateřského tématu, aniž byste museli přímo měnit soubory tohoto mateřského tématu. Výhodou tohoto přístupu je, že pokud dojde k aktualizaci mateřského tématu, vaše vlastní úpravy (umístěné v podtématech) nezmizí. Struktura adresáře podtémat je nezávislá a k jejich fungování je potřeba pouze… style.css Soubor, a v jeho poznámkách na začátku se uvádí… Template: Tato řádková deklarace určuje název adresáře nadřízeného tématu. Soubory šablon podřízeného tématu přepsají soubory se stejným názvem v nadřízeném tématu; pokud podřízené téma nemá určitou šablonu, automaticky se použije šablona z nadřízeného tématu. Jedná se o bezpečnou a udržitelnou strategii přizpůsobení a inovací.

Co jsou WordPress hooks a jak se používají při vývoji temat?

Hooky koncept je ve struktuře pluginů a vývoji temát pro WordPress velmi důležitý a rozděluje se na akční hooky a filtrovací hooky. Akční hooky vám umožňují vložit a spustit vlastní kód v určitých okamžicích provádění (např. před načtením stránky, po zveřejnění článku). add_action() Funkce slouží k montáži (připojení dat k určitému systému). Filtrační háčky (filter hooks) vám umožňují upravovat data – předtím, než jsou použita nebo uložena – a tak je možné je zachytit a změnit podle potřeb. add_filter() Funkce slouží k montáži (tj. k přidání do systému). Při vývoji tematických nastavení (tj. designových stylů) přidáváte téměř všechny funkce – např. nové možnosti ovládání, vzhledové prvky apod. wp_enqueue_scripts Skript se načítá na háčku. after_setup_theme Přidání podpory pro tematiky na háčky je také provedeno pomocí háčků. Porozumění a používání háčků je klíčem k efektivnímu a standardizovanému vývoji WordPressu.