Od nuly: Kompletní průvodce vývojem WordPress temat a osvědčené postupy

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

Příprava vývojového prostředí a nástrojů

Než začnete psát kód, je velmi důležité vytvořit efektivní lokální vývojové prostředí. To vám nejen umožní rychle testovat a ladit váš kod, ale také vám ušetří rizika spojená s přímými operacemi na online serverech. Doporučujeme použít lokální serverové balíčky, jako je Local by Flywheel, MAMP nebo XAMPP, které jedním kliknutím nainstalují Apache, MySQL/MariaDB a PHP.

Kódové editory jsou hlavním nástrojem pro vývojáře. Visual Studio Code je v současnosti velmi populární volbou a disponuje bohatým ekosystémem rozšíření. Pro práci s tematikami (témata webových stránek) doporučujeme nainstalovat následující rozšíření: WordPress Code Snippets (pro podporu tipů při psaní kódu týkajícího se WordPressu), PHP Intelephense (pro inteligentní rozpoznávání kódu v PHP) a nástroj pro reálné časové předvádění výsledků úprav kódu. Kromě toho je nástroj pro správu verzí kódu – Git – nezbytnou dovedností pro správu změn v kódu, týmovou spolupráci a nasazování nových funkcí; jeho používání byste měli začít už od začátku svého vývojářského procesu.

Nástroje pro vývojáře v prohlížečích jsou velmi užitečnými nástroji při vývoji webových stránek. Znalé používání funkce “Prohlídnutí elementů” v prohlížečích Chrome nebo Firefox při ladění kódu HTML, CSS a JavaScript může výrazně zvýšit efektivitu vývoje. Nakonec se ujistěte, že vaše lokální verze PHP odpovídá verzi, která bude použita v cílovém hostitelském prostředí, a zapněte režim ladění v WordPressu – to vám pomůže v rané fázi vývoje objevit a opravit chyby.

Doporučujeme k přečtení. Jak vytvořit profesionální WordPress téma: kompletní vývojová příručka od nuly.

Basická struktura tématu WordPress a jeho hlavní soubory.

Standardní téma pro WordPress je složka, která obsahuje určité soubory a nachází se na… /wp-content/themes/ V adresáři. Pro nejzákladnější téma jsou potřeba pouze dvě soubory:style.cssindex.php

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.

style.css Soubor není pouze šablonou vzhledu tématu, ale také jeho “občanským průkazem”. Blok komentářů na začátku souboru slouží k deklaraci informací o tomto tématu, což je klíčové pro to, aby WordPress dané téma správně rozpoznal. Typická deklarace vypadá následovně:

/*
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
*/

index.php Jedná se o výchozí šablonový soubor tématu, který je zodpovědný za renderování webových stránek. Slouží jako “rezervní” varianta pro všechny ostatní šablonové soubory. Pokud WordPress nenajde konkrétnější šablonový soubor (např. single.php), pak se to použije. index.php

Kromě těchto dvou klíčových souborů obvykle obsahuje kompletní funkční téma také:
* header.phpV horní části webové stránky se obvykle nacházejí: <head> Regionální a webové identifikátory.
* footer.phpPodstránka webové stránky.
* functions.phpSoubory určené k “vylepšení funkcí” daného tématu slouží k přidávání nových funkcí, registraci položek do menu, nastavení obsahu na bočních lištách a podobným účelům.
* page.phpŠablona používaná k renderování jednotlivých stránek.
* single.phpŠablona používaná k renderování jednotlivých blogových článků.
* archive.phpŠablona používaná k renderování archivních stránek obsahujících kategorizaci článků, tagy a další informace.

Chápání důležitosti hierarchie šablon

WordPress používá soubor pravidel nazývaný “Hierarchie šablon” (Template Hierarchy), které určují, který šablonový soubor se má použít pro konkrétní stránku. Tato sada pravidel je ústřední součástí logiky vývoje témat (templat). Například, když uživatel navštíví blogový článek, WordPress postupně hledá:single-post-{post-type}-{slug}.php -> single-post-{post-type}.php -> single.php -> singular.php -> A nakonec index.phpPochopení a správné využití struktury šablon vám umožní vytvářet velmi přizpůsobené rozložení jednotlivých částí webové stránky.

Doporučujeme k přečtení. Návod k vývoji perfektního WordPress tématu: vytvořte profesionální web od nuly do jedné.

Klíčové vývojové technologie: PHP, šablony a cykly

WordPress téma je v podstatě PHP aplikace, která komunikuje s jádrem WordPressu pomocí sady vestavěných PHP funkcí (nazývaných “šablony”). Tyto funkce jsou zodpovědné za výběr obsahu z databáze a jeho dynamické vložení do vaší HTML struktury.

Nejzákladnějším konceptem je “WordPress cyklus”. Cyklus je úsek kódu v PHP, který slouží k ověření, zda na aktuální stránce existují články (nebo jiné obsahové elementy), které je třeba zobrazit. Pokud existují články, cyklus prochází jednotlivé články a vypisuje jejich obsah. Jedna z nejzákladnějších struktur cyklu je následující:

<h2><p><strong> Řekněte mi něco o sobě.</strong></p></h2>
        <div class="entry-content">
            <?php the_content(); ?>
        </div>

V uvedeném kódu…have_posts()the_post() Je to funkce, která řídí průběh cyklu.the_title()the_content() Jsou to šablony určené k zobrazení konkrétního obsahu. Mezi další běžně používané šablony patří: the_permalink()(Odkaz na článek)the_post_thumbnail()(Výstup speciálních obrázků) A the_excerpt()(Vygenerujte shrnutí článku).

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.

Využitím podmínkových značek (conditional tags) lze realizovat logickou kontrolu.

Podmínkové značky (condition tags) představují další skupinu výkonných funkcí v PHP, které v závislosti na typu aktuální stránky vrací hodnotu `true` nebo `false`. Díky tomu je možné dosáhnout přesné kontroly nad uspořádáním obsahu stránky. Například:

<?php if ( is_front_page() && is_home() ) {
    // 默认首页(显示最新文章列表)
} elseif ( is_front_page() ) {
    // 静态首页
} elseif ( is_home() ) {
    // 博客文章索引页
} elseif ( is_single() ) {
    // 单篇文章页
} elseif ( is_page() ) {
    // 单个页面
} elseif ( is_category() ) {
    // 分类存档页
}
?>

Pomocí kombinace šablonových značek, cyklů a podmínkových značek můžete vytvořit dynamické, obsahem řízené stránky.

Vylepšení funkcí témat a osvědčené postupy

functions.php Tento soubor představuje “nástrojovou skříňku” vašeho tématu. Není určen k přímému výstupu obsahu, ale k rozšíření funkcí tématu, přidávání nových vlastností a integraci s dalšími komponentami WordPress.

Doporučujeme k přečtení. Od nuly: Postupná příručka pro vytvoření profesionálního podtematu pro WordPress

Funkce a menu podporované při registraci tématu

functions.php V tomto případě byste měli použít… add_theme_support() Funkce slouží k deklaraci toho, které základní funkce WordPressu vaše téma podporuje. Například podpora speciálních obrázků u článků nebo vlastního loga:

function my_theme_setup() {
    add_theme_support( 'post-thumbnails' );
    add_theme_support( 'custom-logo' );
    add_theme_support( 'title-tag' ); // 让 WordPress 管理页面标题
}
add_action( 'after_setup_theme', 'my_theme_setup' );

Registrování položek v navigačním menu se také provádí zde:

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_menus() {
    register_nav_menus(
        array(
            'primary' => __( '主菜单', 'my-first-theme' ),
            'footer'  => __( '页脚菜单', 'my-first-theme' ),
        )
    );
}
add_action( 'after_setup_theme', 'my_theme_menus' );

Správné zavedení skriptů a souborů se styly

Nikdy nepoužívejte přímé hardlinky na soubory CSS nebo JavaScript přímo v šablonových souborech. Správný způsob je použít… wp_enqueue_scripts Hák.

function my_theme_scripts() {
    // 引入主题的主样式表
    wp_enqueue_style( 'my-theme-style', get_stylesheet_uri() );

// 引入自定义 JavaScript 文件
    wp_enqueue_script( 'my-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true );

// 如果需要,引入 jQuery(WordPress 默认已注册)
    // wp_enqueue_script( 'jquery' );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

Tento postup zajišťuje správné zpracování závislostí mezi jednotlivými komponentami, předchází jejich opakovanému načítání a je kompatibilní se systémem pluginů WordPress.

Implementace dynamického bočního panelu (oblasti s nástroji)

Malé nástroje („widgets“) jsou velmi flexibilní funkcí WordPressu. Chcete-li vytvořit oblast pro malé nástroje (bokovou lištu) pro své téma, je potřeba… functions.php Registrovat se na:

function my_theme_widgets_init() {
    register_sidebar(
        array(
            'name'          =&gt; __( '主侧边栏', 'my-first-theme' ),
            'id'            =&gt; 'sidebar-1',
            'description'   =&gt; __( '在此添加小工具。', '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>'function my_theme_widgets_init() {  
    register_sidebars( array(  
        'sidebars' =&gt; array(  
            'name' =&gt; 'Sidebar',  
            'id' =&gt; 'sidebars',  
            'description' =&gt; 'Sidebar pro můj motiv',  
        )  
    ) );  
    add_action( 'widgets_init', 'my_theme_widgets_init' );  
};

Poté, na místě, kde chcete, aby se zobrazila boční lišta (například…) sidebar.php(...) a použijte dynamic_sidebar( 'sidebar-1' ) Pojďte to spustit.

Závěr

Vývoj tem pro WordPress je komplexní dovednost, která kombinuje pochopení struktury, programování v PHP a front-end technologií. Začínáte vytvořením správného vývojového prostředí, postupně se učíte základní strukturu souborů tem, koncepty úrovní šablon, a poté se zdokonalujete v používání WordPressových cyklů, šablonových značek a podmínkových značek pro dynamické vytváření obsahu. To je nezbytný postup při vytváření vlastních tem. Nakonec… functions.php Soubory dodržují osvědčené postupy, které pomáhají vylepšit funkce témat – např. správné registrace vlastností, nastavení menu, integrace doplňkových funkcí („widgetů“) a načítání potřebných zdrojových souborů. Díky tomu je kód vašeho tématu robustní, efektivní a snadno udržovatelný. Nezapomeňte, že základním principem je vždy oddělení obsahu (databáze) od vzhledu (tématických šablon), což umožňuje vytvářet flexibilní a výkonné webové stránky.

Časté dotazy

Pro vývoj WordPress tématu #### je potřeba se naučit PHP?
Ano, to je nutné. WordPress je sám o sobě napsán v PHP a šablony temát jsou v podstatě PHP soubory, které pomocí PHP kódu načítají dynamický obsah z databáze WordPress. I když můžete kopírovat a vkládat určité kousky kódu, pro skutečné přizpůsobení, ladění a řešení problémů je základní znalost PHP nezbytná.

Lze vlastní téma použít přímo v komerčních projektech?

Samozřejmě že ano. Témata, která vytvoříte pro sebe nebo pro své zákazníky, mají autorská práva patřící vám (nebo vašim zákazníkům). Je však důležité vzít v úvahu, že protože používáte platformu WordPress a jádro WordPressu je licencováno pod licencí GPL, měla by vaše tema také být licencována pod licencí kompatibilní s GPL (např. GPL verze 2 nebo vyšší). To je považováno za projev respektu vůči duchu komunity WordPress a vůbec neovlivňuje prodej nebo licencování vašich temat.

Jak přizpůsobit vytvořené téma mobilním zařízením?

Implementace responsivního designu je základním požadavkem v moderním vývoji tematických stránek. To závisí především na technologii CSS media queries. Je potřeba… style.css Při psaní kódu CSS je důležité vytvořit pravidla, která budou odpovídat různým velikostem obrazovek – mobilním telefonům, tabletům a počítačům. Nejlepší praktikou je použít strategii “mobile first”, což znamená nejprve vytvořit základní styly vhodné pro malé obrazovky a poté pomocí mediálních dotazů postupně přidávat nebo přepisovat styly pro větší obrazovky. Zároveň je třeba zajistit, aby všechny prvky webové stránky správně fungovaly na všech typech zařízení. <head> Region (obvykle v…) header.phpMeta tag „viewport“ byl správně nastaven:<meta name=“viewport” content=“width=device-width, initial-scale=1”>

Jak využívat funkci podtémat (subtopics) při vývoji témat?

Podtémata jsou velmi výkonnou funkcí, která vám umožňuje provádět úpravy a rozšíření na základě existujícího tématu (mateřského tématu), aniž byste museli přímo měnit soubory tohoto mateřského tématu. Při aktualizaci mateřského tématu bude váš vlastní kód (umístěný v podtématu) bezpečně zachován. Vytvoření podtémata je velmi jednoduché: stačí… /wp-content/themes/ V adresáři vytvořte nový složek a v něm poté vytvořte ještě jednu složku. style.css Ve souboru musí být v hlavičkových poznámkách použito… Template: parent-theme-folder-name Dejte tedy najevo „rodičovské téma“ (tj. základní strukturu obsahu). Poté můžete v dceřiných tématech přepsat jakékoli soubory šablon z rodičovského tématu nebo přidat nové funkce.