Konečný průvodce vývojem témat WordPressu: od nuly až po odborné znalosti při vytváření vlastních webových stránek.

Čtení za 3 minuty.
2026-03-18
2026-06-03
2,487
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.

Vývojové prostředí a základní přípravy

Než začnete psát konkrétní kód pro dané téma, správné vývojové prostředí je základem úspěchu. Nejde pouze o instalaci nějakého editoru kódu, ale o kompletní pracovní postup, který má za cíl zvýšit efektivitu, zajistit kvalitu kódu a usnadnit ladění.

Nejprve vám důrazně doporučujeme vytvořit na vašem lokálním počítači vývojové prostředí podobné prostředí produkčnímu. To obvykle znamená použití nástrojů, jako jsou Local by Flywheel, XAMPP, MAMP nebo Laragon, k instalaci serverů Apache/Nginx, PHP a databáze MySQL. Lokální vývoj vám umožní rychle provádět iterace, bez čekání na nahrávání souborů, a také bezpečně testovat nové funkce.

Dále je nezbytný silný editor kódu.Visual Studio Code Je velmi populární mezi vývojáři díky svému bohatému ekosystému rozšíření (jako jsou PHP Intelephense, WordPress Snippet atd.). Nástroj pro správu verzí, zejména… GitMusí být integrováno do vašeho pracovního postupu hned od začátku. Používejte Git k sledování všech změn v kódu a provádějte zálohování a spolupráci prostřednictvím platform, jako jsou GitHub, GitLab nebo Bitbucket.

Doporučujeme k přečtení. Vývoj WordPress temát od základů po pokročilé znalosti: Postupná příručka pro vytváření vlastních webových stránek

Základní struktura souborů standardního tématu WordPress vypadá následovně. Potřebujete to v adresáři, kde je instalován WordPress. wp-content/themes Vytvořte novou složku, například… my-custom-theme

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.
my-custom-theme/
├── style.css          // 主样式表,包含主题元信息
├── index.php          // 主题的默认模板文件
├── functions.php      // 主题功能文件,用于添加功能与集成
├── screenshot.png     // 主题后台预览图
├── assets/            // 静态资源目录
│   ├── css/
│   ├── js/
│   └── images/
└── template-parts/    // 模板零件目录

Mezi nimi,style.css Komentáře v hlavičce souboru představují “občanský průkaz” tématu – sdělují WordPressu, že toto téma existuje, a zároveň poskytují jeho základní informace. Tato část musí být přesně vyplněna.

/*
Theme Name: My Custom Theme
Theme URI: https://example.com/my-custom-theme
Author: Your Name
Author URI: https://example.com
Description: A custom WordPress theme built from scratch.
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-custom-theme
*/

Text Domain Používá se pro internacionalizaci a musí být v souladu se názvem vaší tematické složky.

Kerní šablonové soubory a hierarchická struktura

WordPress využívá systém “úrovní šablon” k určení toho, který šablonový soubor se má použít pro stránku požadovanou v daném okamžiku. Porozumění tomuto systému je klíčové pro vytváření flexibilních témat. V podstatě WordPress začíná hledáním od nejkonkrétnějšího šablonového souboru; pokud takový není nalezen, pokračuje hledáním v obecnějších šablonách, a nakonec se vrátí k nejzákladnější možné variantě. index.php

Celý proces lze shrnout následovně: Stránka jednotlivého článku > Stránka jednotlivého příspěvku > Katalog kategorií > Stránka s tagy > Stránka autora > Stránka s datem > Archivní stránka > Vyhledávací stránka > Úvodní stránka > Nakonec návrat na úvodní stránku. Pro stránku jednotlivého článku WordPress preferuje hledání… single-post-{slug}.phpDále následuje… single-{post-type}.phpA pak je tu single.phpA nakonec... singular.php

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

Vytvoření univerzální šablony stránky

header.phpfooter.php Jsou základem pro vytvoření jednotného vzhledu webové stránky.header.php Soubory obvykle obsahují deklaraci typu dokumentu. Oblast (prostřednictvím) wp_head() Funkce vypisuje klíčová metadata a obsah skriptů, stejně jako nadpis webové stránky, navigaci a další úvodní informace. V místech, kde je potřeba zavést hlavičku (header), použijte odpovídající kód. get_header() Funkce.

footer.php Takže obsahuje obsah podstránky a před koncem provede určitou akci (volání funkce). wp_footer() Funkce (která je pro správný chod mnoha pluginů zásadní) – a nakonec se to použije… get_footer() Zavedení funkce.

Ovládání cyklu článků a zobrazování jejich obsahu

Ústředním prvkem většiny šablonových souborů je “cyklus” (The Loop). Jedná se o strukturu PHP kódu, kterou používá WordPress k načítání obsahu z databáze a jeho zobrazení na stránce. Základní vzor tohoto cyklu vypadá následovně:

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.
<!-- 在这里显示每一篇文章的内容 -->
        <h2><p><strong> Řekněte mi něco o sobě.</strong></p></h2>
        <div><?php the_content(); ?></div>
    <p>
    <p>Omlouváme se, ale nenacházíme žádný obsah.</p>
<?php endif; ?>

Uvnitř cyklu můžete použít řadu šablonovacích značek k výstupu obsahu, například: the_title()the_content()the_excerpt()the_permalink() Atd. Pro zvýšení využitelnosti kódu lze části, které se v cyklu opakovaně používají (jako jsou shrnutí článků, metadata článků), extrahovat a použít je znovu. template-parts V šablonách dílů v adresáři poté použijte… get_template_part() Volání funkce.

Thematic features and custom integration

functions.php Soubor představuje “centrálu řízení” vašeho tématu. Není to šablonový soubor, ale PHP soubor, který se automaticky načte při inicializaci tématu. Slouží k definování funkcí, registraci vlastností, přidávání filtrů a akčních hooků.

Přidání základní podpory funkcí pro tematické nastavení

Nejprve byste měli použít… add_theme_support() Funkce slouží k deklaraci funkcí, které vaše téma podporuje. Tím jsou pro vaše téma aktivovány základní funkce WordPressu.

Doporučujeme k přečtení. Začněte od nuly s vývojem temát pro WordPress: Nejlepší postupy a příručky pro vytváření vlastních webových stránek

function my_theme_setup() {
    // 让主题支持文章和页面的特色图像
    add_theme_support( 'post-thumbnails' );
    // 支持在后台自定义<title>标签
    add_theme_support( 'title-tag' );
    // 支持HTML5的标记格式
    add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) );
    // 支持自定义Logo
    add_theme_support( 'custom-logo', array(
        'height'      => 100,
        'width'       => 400,
        'flex-height' => true,
        'flex-width'  => true,
    ) );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

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

Návigací menu umožňuje uživatelům spravovat obsah v záložce “Vzhled > Menü” v administraci. Nejprve je třeba toto menu použít. register_nav_menus() Umístěte funkci do sekce určené k registraci funkcí a poté ji použijte v šabloně. wp_nav_menu() Funkce slouží k zobrazení obsahu.

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

Boční panel nástrojů (neboli “oblast okenních widgetů”) je další důležitou funkcí. register_sidebar() Funkce je registrována.

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.
function my_theme_widgets_init() {
    register_sidebar( array(
        'name'          =&gt; __( '主侧边栏', 'my-custom-theme' ),
        'id'            =&gt; 'sidebar-1',
        'description'   =&gt; __( '在此添加小工具。', 'my-custom-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', 'my_theme_widgets_init' );

V šabloně použijte In the template, use dynamic_sidebar( 'sidebar-1' ) Použijte to k volání.

Bezpečné zavádění skriptů a stylů

Nikdy nepoužívejte přímé hardlinky na soubory CSS a JavaScript přímo v šablonových souborech. Správný postup je použít… wp_enqueue_scripts Akční hooky, používejte je. wp_enqueue_style()wp_enqueue_script() Funkce slouží k načtení dat.

function my_theme_scripts() {
    // 引入主样式表
    wp_enqueue_style( 'my-theme-style', get_stylesheet_uri(), array(), wp_get_theme()->get('Version') );
    // 引入自定义JavaScript文件
    wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/assets/js/main.js', array('jquery'), wp_get_theme()->get('Version'), true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

Vysoké úrovně funkcionalit témat a možnosti personalizace

Po dokončení vývoje základních temat můžete použít pokročilejší techniky k zvýšení jejich profesionality a flexibility.

Vytvořte si vlastní typ článku a taxonomii.

Pro správu obsahu mimo blogové články a stránky (jako jsou produkty, portfolio, členové týmu atd.) je potřeba vytvořit vlastní typy článků. Stejně tak lze pro organizaci tohoto obsahu použít vlastní kategorie. To se obvykle dělá… functions.php Prostřednictvím Číny register_post_type()register_taxonomy() Funkce byla dokončena. Pro udržení čistoty kódu je doporučeno umístit tuto část logiky do samostatného souboru a připojit ji pomocí příslušných odkazů nebo importů. require_once Zavedení.

Integrace s vlastními nástroji WordPressu (WordPress Customizers)

WordPress Customizer poskytuje uživatelům rozhraní pro nastavování tématových možností s možností přímého přehledu v reálném čase. Můžete tedy WP_Customize_Manager K objektu lze přidávat nastavení, ovládací prvky a další funkce. Například lze přidat možnost volby barvy nadpisu stránky.

function my_theme_customize_register( $wp_customize ) {
    // 添加一个设置
    $wp_customize->add_setting( 'header_color', array(
        'default'   => '#333333',
        'transport' => 'refresh',
        'sanitize_callback' => 'sanitize_hex_color',
    ) );
    // 添加一个控制
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'header_color', array(
        'label'    => __( '页眉背景色', 'my-custom-theme' ),
        'section'  => 'colors',
        'settings' => 'header_color',
    ) ) );
}
add_action( 'customize_register', 'my_theme_customize_register' );

A poté, header.php Nebo použijte to v interních stylech (inline styles). get_theme_mod( 'header_color' ) Vyveďte tuto hodnotu.

Implementace podpory podtémat (subtopics)

Aby bylo vaše téma snadno rozšiřitelné a jeho aktualizace bezpečné, je od začátku zásadní zvážit kompatibilitu s podtémata. To znamená, že načítání všech stylů a skriptů by mělo probíhat pomocí… get_template_directory_uri()get_stylesheet_directory_uri() Například funkce wait() a yield(). style.css Vyhýbejte se používání absolutních cest. Vývojáři podtemat mohou upravit vzhled tak, že přepíšou vaše šablony.

Závěr

Vývoj tem pro WordPress je proces, který kombinuje kreativitu, design a programovací dovednosti. Začíná vytvořením lokálního prostředí a pochopením struktury šablon, pokračuje vytvářením základních šablonových souborů a dále… functions.php Od integrace silných funkcí přes možnost vytváření vlastních typů článků a dalších pokročilých vlastností je každý krok směřován k vytvoření webového řešení, které splňuje standardy a zároveň má své jedinečné vlastnosti. Dodržování osvědčených postupů – jako je používání akčních háčků, psaní znovupoužitelného kódu a zajišťování kompatibility podtemat – udělá vaše téma robustnějším a profesionálnějším, a pomůže mu dlouhodobě zůstat aktuálním v rámci WordPress ekosystému.

Časté dotazy

K vývoji WordPress témat je nutné ovládat následující klíčové technologie:
K vývoji moderního WordPressového tématu potřebujete ovládat následující klíčové technologie: HTML5 a sémantické značky, CSS3 (včetně rozložení Flexbox a Grid), PHP (zejména základy objektově orientovaného programování) a JavaScript (a případně související rámce, jako je React, pro vývoj Gutenbergových bloků). Kromě toho je nezbytné důkladně porozumět klíčovým koncepcím WordPressu, jako jsou hierarchie šablon, smyčky, akční háky a filtry a REST API.

Jaký je rozdíl mezi souborem functions.php a pluginy?

functions.php Je součástí tématu a jeho funkce je úzce propojena s samotným tématem. Když uživatel změní téma,functions.php Kód uvedený v textu již nebude fungovat. Obvykle se používá k přidávání funkcí, které jsou přímo spojeny s vzhledem a funkcemi tématu – např. registrační menu, podpora speciálních obrázků, načítání skriptů určených k nastavení vzhledu tématu atd.

Pluginy jsou funkční moduly, které jsou nezávislé na konkrétních tematech a mají za úkol poskytovat funkce, které lze používat v různých tematech. Pokud nějaká funkce nesouvisí s vizuálním vzhledem tématu a uživatelé by mohli chtít, aby tato funkce zůstala při změně tematu (např. kontaktní formuláře, optimalizace pro vyhledávače, cache), je vhodnější ji vyvinout jako plugin. Dobrou praxí je nechat temata soustředit se pouze na prezentaci obsahu a přenechat složitější funkce na pluginy.

Jak zajistit, aby můj tematický design splňoval kódovací standardy WordPressu?

Dodržování kódovacích standardů WordPress je klíčové pro zajištění kvality kódu, čitelnosti a spolupráce ve komunitě. U kódu napsaného v PHP by mělo být dodržováno následující: WordPress PHP kódovací standardyTo zahrnuje použití jednoduchých uvozovek, správného odsazení textu, stylu velkých závorek atd. Pro CSS, JavaScript a HTML také existují příslušné standardy.

Můžete použít nástroje jako PHP_CodeSniffer v kombinaci se sady standardních pravidel pro WordPress, ESLint, Stylelint atd. k automatické kontrole kódu v editorech nebo v rámci procesů CI/CD. Zároveň se ujistěte, že pro veškerý text viditelný pro uživatele jsou použity funkce pro překlad (např. __()_e()) a provést internacionalizaci.

Jak provést testování po dokončení vývoje tématu?

Kompletní testování je klíčovým krokem před vydáním tématu. Nejprve provádějte základní funkční testy v různých prostředích (různé verze PHP, různé verze MySQL). Dále použijte oficiální nástroj WordPress Theme Check k prověření souladu s předpisy, abyste se ujistili, že nejsou používány zastaralé funkce nebo že nedochází k porušení pravidel při vývoji témat.

Následně proveďte testy napříč různými prohlížeči a testy na responzivitu, abyste se ujistili, že stránky správně fungují ve všech hlavních prohlížečích (Chrome, Firefox, Safari, Edge) a na různých velikostech zařízení. Je také nutné otestovat kompatibilitu se široce používanými doplňky a ujistit se, že vše funguje správně i v režimu ladění (debugging mode). wp-config.php Nastavit v nastaveních define('WP_DEBUG', true);Po provedení daných kroků nebyly zobrazeny žádné varování, upozornění ani chyby týkající se PHP. Nakonec byly provedeny testy výkonnosti za účelem hodnocení rychlosti načítání stránek.