Od základů po mistrovství: Kompletní průvodce vývojem WordPress temat a praktické návody

Čtení za 2 minuty.
2026-03-19
2026-06-03
2,468
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 prostředí pro vývoj aplikací a základní koncepty

Pro začátek vývoje temát pro WordPress je nejprve nutné nastavit vhodné lokální vývojové prostředí. To nejen zvyšuje efektivitu vývoje, ale také snižuje rizika spojená s laděním na internetu. Mezi běžná řešení lokálního vývojového prostředí patří XAMPP, MAMP, Local by Flywheel a podobná nástroje, která integrují PHP, MySQL a webový server a lze je nainstalovat jedním kliknutím. Vyberte si nástroj, který vám vyhovuje, a ujistěte se, že jeho verze PHP je kompatibilní s prostředím vašeho cílového serveru.

Téma WordPressu je v podstatě něco, co se nachází na/wp-content/themes/V adresáři se nacházejí složky, které obsahují sadu povinných i volitelných souborů v formátech PHP, CSS, JavaScript a obrázků. Nejzákladnější téma vyžaduje pouze dva soubory:style.cssindex.phpMezi nimi jestyle.cssNejde pouze o šablony stylů, ale také o metadata týkající se samotného tématu. Tyto informace jsou definovány pomocí speciálního bloku komentářů a jsou klíčové pro to, aby WordPress rozpoznal dané téma.

Porozumění základní struktuře souborů týkajících se daného tématu

style.cssKomentářový blok na začátku souboru představuje “občanský průkaz” tématu. Níže je uveden standardní příklad metadat:

Doporučujeme k přečtení. Co je to vývoj tem (témů) pro WordPress?

/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme
Author: 开发者名称
Author URI: https://example.com
Description: 这是一个为学习WordPress主题开发而创建的简单主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-first-theme
*/

index.phpJedná se o výchozí šablonový soubor daného tématu, který slouží jako konečná rezervní šablona pro všechny požadavky na stránky. Postupem vývoje budete postupně vytvářet konkrétnější šablonové soubory.header.phpfooter.phpsingle.phpAtd., aby byly vytvořeny kompletní funkce.

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.

Vytvoření hierarchie šablon a cyklů pro tematické stránky

WordPress využívá inteligentní systém zvaný “soustava úrovní šablon” („template hierarchy“), který určuje, jak se různé obsahy zobrazí. Když uživatel navštíví stránku, WordPress hledá odpovídající šablonové soubory podle určitého pořadí priorit. Například při návštěvě blogového článku WordPress postupně hledá potřebné šablony…single-post.phpsingle.phpA nakonec...index.phpPorozumění a využití této hierarchie je klíčem k vytvoření flexibilních a výkonných temat.

Porozumění principu fungování cyklů v WordPressu

Ústředním prvkem zobrazení všech obsahů je “WordPress cyklus”. Jedná se o strukturu kódu v PHP, která slouží k ověření, zda na aktuální stránce existují články, které je třeba zobrazit. Pokud ano, cyklus prochází jednotlivé články a vypisuje je. Nejzákladnější struktura tohoto cyklu vypadá následovně:

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

V tomto cyklu…have_posts()the_post()Jedná se o klíčovou funkci.the_title()the_content()Šablony obsahují značky, které slouží k výstupu konkrétních informací o článcích. Pomocí cyklů můžete ovládat seznam článků, stránku jednotlivého článku a jakékoli oblasti, kde je potřeba provádět vyhledávání a zobrazování obsahu.

Vytvořte šablony pro horní a dolní část stránky.

Pro zvýšení využitelnosti a udržovatelnosti kódu se obvykle hlavička (Header) a patka (Footer) webové stránky oddělí do samostatných šablonových souborů.header.phpSoubor by měl obsahovat deklaraci typu dokumentu.Region a také část veřejné navigace na vrcholu webové stránky. Poté…index.phpV těchto souborech se to používá…get_header();Použijte funkci k jejímu zavedení.

Doporučujeme k přečtení. Od nuly: Základní architektura vývoje temat pro WordPress

Podobně tak i vytvoření…footer.phpSoubor obsahuje informace o společném spodním rozhraní webové stránky, odkazy na skripty atd., a je používán k jejich implementaci.get_footer();Zavedení funkce.get_sidebar();get_template_part();Je to také běžná funkce používaná pro modulární šablony.

Implementace tematických funkcí a pokročilých vlastností

Zralé WordPress téma potřebuje nejen krásné šablony, ale také silnou funkční podporu. To je hlavně zajištěno prostřednictvím funkcí, které téma nabízí.functions.phpTento soubor slouží k implementaci požadovaných funkcí. Je jako “mozek” daného tématu – slouží k přidávání nových funkcí, registraci komponent a úpravě výchozího chování systému.

Přidejte podporu temat do funkčního souboru.

functions.phpTento soubor slouží k aktivaci základních funkcí WordPressu, jako jsou oříznuté obrázky článků, vlastní menu, podpora HTML5 značek atd. Níže je ukázka toho, jak lze jednu z těchto funkcí aktivovat:

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.
function my_theme_setup() {
    // 添加对文章特色图片(缩略图)的支持
    add_theme_support( 'post-thumbnails' );

// 注册导航菜单位置
    register_nav_menus( array(
        'primary' => __( '主导航菜单', 'my-first-theme' ),
        'footer'  => __( '底部菜单', 'my-first-theme' ),
    ) );

// 添加对HTML5标记的支持
    add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

add_theme_support()Funkce slouží k deklaraci různých funkcí, které dané téma podporuje.register_nav_menus()Umístění registrovaných jídelních jednotek lze nastavit v administraci v sekci “Vzhled” -> “Menü” a poté je použít v šablonách.wp_nav_menu()Volání funkce.

Zavádění souborů se styly a skripty

Správné řazení zdrojů do fronty („enqueuing“) je dovednost, kterou musí ovládat každý profesionální vývojář. Nikdy nesmíte přímo vkládat odkazy na soubory CSS nebo JS do šablon, ale měli byste používat vhodné nástroje a postupy.wp_enqueue_style()wp_enqueue_script()Funkce. Tím je zajištěno správné nastavení závislostí a předchází se duplicitnímu načítání nebo konfliktům zdrojů.

functions.phpPřidat do seznamu:

Doporučujeme k přečtení. Od nuly: Kompletní průvodce vývojem WordPress temat a sdílení osvědčených postupů

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

// 引入自定义JavaScript文件
    wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/main.js', array(), false, true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

get_stylesheet_uri()Co bylo získáno?style.cssCesta… aget_template_directory_uri()Získaná je URL adresa kořenového adresáře tématu.

Vytvořte si vlastní šablonu stránky a podtéma.

Pro splnění konkrétních požadavků na design stránek můžete vytvořit vlastní šablony stránek. Například šablonu pro celoplošnou stránku, která nevyžaduje postranní lištu. Stačí přidat na začátek jakéhokoli PHP souboru poznámku s názvem požadované šablony a poté tento soubor nahrát do adresáře s tematikou. Následně bude tato šablona dostupná v rozbalovacím menu “Šablony” v editoru stránek v administraci.

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.

Způsob vytvoření vlastního šablónu stránky

Vytvořte něco s názvem…template-fullwidth.phpSoubor by měl začínat následujícím způsobem:

<?php
/**
 * Template Name: 全宽页面模板
 * Description: 一个没有侧边栏的全宽度页面模板
 */

V tomto souboru můžete psát samostatné HTML a PHP struktury, které pravděpodobně nezahrnují…get_sidebar();Při vytváření stránky zvolte tento šablonu a WordPress ho použije k zobrazení obsahu.

Používejte podtémata k bezpečnému přizpůsobování a inovacím.

Přímá úprava třetích stran vyvinutých temat („témů“) je nebezpečná, protože aktualizace těchto temat přepsají všechny vaše změny. Správný postup je vytvořit „podtema“ („subthemes“). Podtema obsahují pouze vaše vlastní přizpůsobené soubory a zdědí všechny funkce základního tematu. Pro vytvoření podtema je potřeba pouze…style.cssA s jedním…functions.php

podtématickýstyle.cssHlavičkové poznámky musí obsahovat…Template:Zadejte název adresáře pro nadřazené téma:

/*
Theme Name: 我的子主题
Template: twentytwentyfour
*/

V podtématechfunctions.phpV tomto kontextu můžete přidávat nové funkce nebo přepsat funkce definované v mateřském (rodičovském) tématu. Pokud jde pouze o přidávání stylů, pak to platí zejména pro dceřiná (podřízená) témata.style.cssBude automaticky načteno po stylu mateřského tématu, takže vaše pravidla překryjí pravidla mateřského tématu.

Závěr

Vývoj temát pro WordPress je systémový proces, který začíná pochopením základní struktury souborů, postupně pokračuje osvojením hierarchie šablon a mechanismů cyklic, a nakonec vede k přidávání funkcí pomocí speciálních souborů. Klíčovým aspektem je modulární výstavba šablon (např. hlavičky, patice, bočních panelů) a správa zdrojů podle určitých pravidel. Vytvářením vlastních šablon stránek lze splnit specifické požadavky na rozložení stránek, zatímco znalost technik podtemátů zajišťuje bezpečnou personalizaci a snadnou údržbu. Celý tento proces vyžaduje, aby vývojáři kombinovali své znalosti PHP, HTML, CSS a JavaScript s funkcemi a systémem hooků specifickými pro WordPress, a tak vytvořili webové stránky, které jsou jak esteticky příjemné, tak i funkčně výkonné.

Časté dotazy

Je nutné být zdatný v PHP při vývoji témat pro WordPress?

Ano, je potřeba mít solidní základy v PHP. WordPress je sám postaven na PHP – šablony temát, logika funkcí a další aspekty závisí na PHP kódu, který umožňuje výstup dynamického obsahu a interakci s daty. HTML, CSS a JavaScript tvoří základ pro vzhled webové stránky z pohledu uživatelského rozhraní, zatímco PHP slouží jako most mezi těmito prvky a databází WordPressu na straně serveru.

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

Obvykle je to způsobeno nízkou prioritou (specificitou) CSS selektorů nebo tím, že se šablona stylů nenahrála správně. Nejprve zkontroluj nástroje pro vývojáře v prohlížeči a ujisti se, zda jsou vaše CSS pravidla aplikována na požadované prvky a zda je nezastínají jiná pravidla s vyšší prioritou. Dále se ujistěte, že šablona stylů byla nahrána správným způsobem.functions.phpNěco v čínštině (zjednodušené)wp_enqueue_style()Použijte funkce pro načítání šablon stylů, místo jejich přímého zapsání do hlavičky HTML. Při použití podtematů se ujistěte, že šablony stylů z mateřského tématu jsou správně děděny.

Jaký je rozdíl mezi souborem functions.php v hlavní složce projektu a pluginy?

functions.phpFunkce obsažené v tématu jsou úzce spojeny s aktuálním tématem a po změně tématu tyto funkce přestanou fungovat. Jejich dosah je omezen pouze na weby, na kterých je toto téma aktivováno. Naopak funkce poskytované pluginy jsou nezávislé na konkrétním tématu – po změně tématu zůstávají pluginy obvykle funkční, což usnadňuje jejich použití na různých webech. Dobrým pravidlem je: Pokud je funkce určena výhradně k prezentaci obsahu (např. rozvržení, styly), měla by být umístěna do tématu; pokud má sloužit k rozšíření základních funkcí webové stránky (např. kontaktní formuláře, optimalizace pro vyhledávače), je lepší ji vytvořit jako plugin.

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

Musíte udělat dvě věci: přípravu textových polí a generování jazykových souborů. Nejprve ve všech částech tématu obalte všechny řetězce určené pro uživatele pomocí funkcí pro překlad v WordPressu.__('文本', 'my-theme')_e('文本', 'my-theme')A ujistěte se, že…style.cssDefinované v Číně.Text DomainV souladu s „my-theme“ zde. Poté použijte nástroj, jako je Poedit, k prohledání souborů témat a vytvoření….potŠablonský soubor..po.moDokumenty, umístěné v tématu/languages/Je to v adresáři. WordPress automaticky načte odpovídající překlad podle nastavení jazyka webové stránky.