Kompletní průvodce vývojem témat WordPressu: vytvořte si vlastní téma od nuly

Čtení za 2 minuty.
2026-03-15
2026-06-03
2,710
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 zásadní prvním krokem vytvářet efektivní a izolované lokální vývojové prostředí. To nejenže ochrání váš produkční web, ale také výrazně zvýší efektivitu vývoje.

Nastavení lokálního vývojového prostředí.

Doporučujeme použít lokální serverové balíčky, jako jsou Local by Flywheel, MAMP nebo XAMPP. Tyto nástroje umožňují jednoduchou instalaci Apache/Nginx, PHP a MySQL a perfektně simulují prostředí online serveru. Ujistěte se, že vaše verze PHP je verze 7.4 nebo vyšší, a že jsou aktivovány potřebné rozšíření, jako jsou MySQLi nebo PDO, stejně jako grafická knihovna GD. Kromě toho nainstalujte a aktivujte nějaký editor kódu, např. Visual Studio Code nebo PhpStorm – ty poskytují výbornou podporu pro vývoj WordPress v podobě výrazového zvýraznění kódu a tipů.

Představení nezbytných nástrojů a doplňků

Kromě editoru kódu potřebujete také systém pro správu verzí kódu, např. Git, který vám pomůže sledovat změny v kódu. V prohlížeči jsou nástroje pro vývojáře (Chrome DevTools nebo Firefox Developer Tools) velmi užitečné při ladění HTML, CSS a JavaScript. Pro vývoj webových stránek na platformě WordPress doporučujeme na vašem lokálním počítači nainstalovat následující doplňky určené k usnadnění vývoje:Query Monitor Slouží k monitorování databázových dotazů, chyb v PHP a hooků.Show Current Template Je možné zobrazit soubor šablony, který je aktuálně používán na této stránce.Theme Check Pluginy slouží k ověření, zda je tema (theme) v souladu se standardy vývoje temat pro WordPress poté, co bylo dokončeno.

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

Struktura tematických souborů a základních souborů

Standardní téma pro WordPress je složka, která obsahuje určité soubory a je uložena na… /wp-content/themes/ V adresáři. Porozumění funkci každého z klíčových souborů je základem pro vytvoření požadovaného tématu.

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.

Definice šablon a informací o tématu

style.css Soubor je vlastně “občanským průkazem” každého WordPress tématu a zároveň vstupním bodem pro nastavení jeho vzhledu. Jeho blok s hlavičkovými poznámkami (Stylesheet Header) nejenže definuje vzhled tohoto tématu, ale co je důležitější, poskytuje také metadata potřebná pro to, aby WordPress dokázal téma správně identifikovat. Níže je uveden základní příklad:

/*
Theme Name: My Custom Theme
Theme URI: https://example.com/my-theme
Author: Your Name
Author URI: https://example.com
Description: 这是一个从零开始构建的自定义 WordPress 主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-custom-theme
*/

V hlavní části textu napište své CSS styly.Text Domain Je určeno pro internacionalizaci a musí být v souladu s textovými oblastmi používanými při následných voláních funkcí pro překlad.

Vylepšení funkcí a zavedení souborů šablon

functions.php Soubory představují “mozek” tématu a slouží k přidávání funkcí a registraci vlastností, aniž by bylo nutné měnit samotné základní soubory tohoto tématu. Zde můžete přidat podporu pro dané téma (např. zkratky článků, vlastní menu), načítat skripty a styly, definovat vlastní funkce atd.

index.php Jedná se o výchozí šablonu daného tématu a zároveň je nutná k použití. Pokud WordPress nenajde konkrétnější šablonový soubor (např. single.phppage.phpPokud dojde k nějaké chybě nebo problému, systém se vrátí k použití původní verze. Obvykle…index.php Bude obsahovat hlavní cyklus, který slouží k výpisu seznamu článků.

Doporučujeme k přečtení. Vývoj tem pro WordPress: Kompletní průvodce vytvářením vlastních tem od nuly

Úroveň šablon a šablonské soubory

WordPress používá soubor pravidel nazývaný “Řízení hierarchie šablon” (Template Hierarchy), které určuje, který soubor šablony má být načten pro konkrétní požadavek na stránku. Porozuměním těmto pravidlům můžete vytvářet šablony, které přesně ovládají vzhled různých stránek.

Podrobný výklad článků a šablon stránek

Pro jednotlivé články hledá WordPress šablony v následujícím pořadí:single-{post-type}-{slug}.php -> single-{post-type}.php -> single.php -> singular.php -> index.phpNapříklad stránka s názvem “about-us” (typ příspěvku – post-type – je…) pageBude se prioritně snažit najít… page-about-us.phpA pak je tu page.phpA nakonec je… index.php

single.php Obvykle se používá k zobrazení jediného blogového článku. page.php Slouží k zobrazení samostatných stránek. V těchto souborech použijete hlavní cyklus k výpisu nadpisu článku, obsahu, metadat a dalších informací.

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.

Šablony pro archivaci a klasifikaci

Když uživatel navštíví seznam článků blogu, katalog kategorií nebo stránku s tagy, WordPress použije příslušné šablony archivace. Pořadí vyhledávání může být následující:category-{slug}.php -> category-{id}.php -> category.php -> archive.php -> index.phpMůžete vytvořit. archive.php Pro ovládání rozvrhu všech archivních stránek, nebo pro vytvoření něčeho konkrétnějšího, např.: category-news.php Navrhněte samostatnou stránku určenou k kategorizaci “zpráv”.

Dalším klíčovým šablonou je front-page.phpPokud taková stránka existuje, bude použita jako statická domovská stránka webu. Pokud neexistuje, WordPress ji vytvoří automaticky. home.php Zobrazit nejnovější články blogu, nebo se vrátit k… index.php

Tematické funkce a pokročilé vlastnosti

Po dokončení vytvoření základní šablony můžete pomocí funkcí a hooků do této šablony vložit silné dynamické funkce, čímž ji proměníte ze statické šablony na plně funkční uživatelské rozhraní.

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

Registrování v oblasti menu a nástrojů

Moderní designy obvykle podporují možnost vlastního nastavení navigačního menu a oblasti s příslušenstvím (tzv. sidebar widgets). K tomu je potřeba… functions.php Při registraci se používá konkrétní funkce.

Nejprve použijte register_nav_menus() Umístění pro registraci funkcí. Například:

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 mytheme_register_menus() {
    register_nav_menus(
        array(
            'primary' => __( '主导航菜单', 'my-custom-theme' ),
            'footer'  => __( '页脚菜单', 'my-custom-theme' ),
        )
    );
}
add_action( 'init', 'mytheme_register_menus' );

Poté v souboru šablony (např. header.phpV tomto případě se používá wp_nav_menu() Funkce je volána a menu se zobrazí.

Za druhé, použijte register_sidebar() Oblast pro registraci funkcí (boční panel):

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

sidebar.php V šabloně se to používá. dynamic_sidebar( 'sidebar-1' ) Zobrazit to.

Podpora speciálních obrázků pro články a vlastních pozadí

projít (účtem, kontrolou atd.) add_theme_support() Funkce vám umožňují snadno aktivovat různé základní funkce pro dané téma. Nejčastěji používanou funkcí je aktivace funkce “Post Thumbnail” (Obrázek příspěvku), která umožňuje uživatelům nastavit obrázek zástupce (thumbnails) pro jejich příspěvky.

add_theme_support( 'post-thumbnails' );
// 你还可以为特定文章类型启用,或定义缩略图尺寸
set_post_thumbnail_size( 1200, 630, true ); // 设置默认尺寸和裁剪模式
add_image_size( 'mytheme-featured-image', 800, 400 ); // 添加自定义图片尺寸

V šabloně použijte In the template, use the_post_thumbnail() Funkce slouží k výstupu speciálních obrázků.

Můžete také pomocí jediného řádku kódu aktivovat funkce, jako jsou vlastní záhlaví, barva pozadí nebo obrázky. Tyto nastavení se nacházejí v rozhraní “Vzhled” -> “Vlastní” v administraci WordPressu, což poskytuje uživatelům větší kontrolu nad vzhledem stránek.

add_theme_support( 'custom-background' );
add_theme_support( 'custom-header' );

Závěr

Vývoj WordPress tématu od nuly je systématický proces, který vyžaduje, aby vývojáři ovládali nejen front-end technologie jako PHP, HTML, CSS a JavaScript, ale také měli hluboké pochopení základních principů fungování WordPressu – jako jsou struktura šablon, hlavní cyklus provádění kódů a systém hooků. K tomuto účelu je nutné vytvořit profesionální lokální prostředí, pečlivě naplánovat strukturu souborů tématu, vytvářet šablony podle určitých pravidel a využívat dostupné nástroje a funkce WordPressu. functions.php Při registraci funkce pro vytváření vlastních témat a integraci pokročilých vlastností můžete vytvořit vlastní téma, které plně odpovídá vašim designovým požadavkům, má čistý kód a je snadno udržovatelné. Tento proces sice přináší mnoho výzev, ale umožňuje vám získat úplnou kontrolu nad vzhledem a funkcemi webové stránky, což je nezbytná cesta k tomu, abyste se stali pokročilým vývojářem WordPress.

Časté dotazy

Je nutné ovládat PHP pro vývoj temát pro WordPress?

Ano, důkladné pochopení PHP je nezbytné. Samotný jádro WordPressu je napsáno v PHP, stejně jako šablony temat (např.header.php, page.php) a funkční soubory (functions.phpVšechny tyto funkce vyžadují použití PHP syntaxe k dynamické generaci obsahu, volání funkcí WordPress a manipulaci s daty. I když můžete zkopírovat existující téma a upravit pouze CSS a HTML, pro implementaci vlastní logiky a funkcí jsou znalosti PHP nezbytné.

Jak zajistit, aby můj téma splňovalo oficiální požadavky WordPressu?

Aby byl váš téma bezpečné, efektivní a mohlo být zařazeno do oficiálního adresáře témat WordPressu, je nutné dodržovat řadu standardů. Mezi ně patří: používání bezpečných praktik kódování (např. escapeování výstupu, ověřování vstupu), dodržování hierarchie šablon, správná implementace internacionalizace (použití…).__()_e()Funkce typu „wait“), zajistěte, aby byl front-end kód responsivní a přístupný, a nepoužívejte klíčové funkce přímo zakódované v hlavním tématu (měli by být použity podtémata nebo pluginy). Využijte to, co bylo zmíněno dříve…Theme CheckPoužití pluginů k skenování je dobrý způsob, jak ověřit soulad s předpisy (kompatibilitu).

Můžeme změnit název souboru style.css v daném tématu?

Není to možné.style.cssTento název souboru je povinný pro rozpoznání tématu v WordPressu a blok komentářů v začátku souboru musí být přítomen a obsahovat správné informace. WordPress čte metadata z tohoto konkrétního souboru, aby v záložce “Vzhled” -> “Témata” zobrazil název vašeho tématu, snímky obrazovky, popis a další údaje. Můžete však hlavní kód CSS rozdělit do dalších souborů..cssVe souboru, a poté…functions.php„Li Yong“wp_enqueue_style()Funkce se načítají podle potřeby.

Co je to podtéma a za jakých okolností by se mělo používat?

Podtémata jsou témata, která závisí na jiném tématu (nazývaném hlavním tématem) a zdědí od něj všechny funkce, styly a soubory šablon. Umožňují vám však bezpečně přepsat část těchto prvků podle vašich požadavků. Stačí, abyste v podtématu provedli potřebné změny…style.cssVe středu je uvedeno jméno šablony nadřazeného tématu a poté jsou umístěny pouze ty soubory, které potřebujete upravit (např. upravené soubory).style.cssfunctions.phpNebo nějaký soubor šablony). Když je aktualizováno mateřské téma, vaše vlastní úpravy podtemat nebudou přepsány. To je velmi užitečné při potřebě přizpůsobit stávající, populární téma a je to doporučená osvědčená metoda.