Jak vyvinout vlastní WordPress téma od nuly: kompletní návod

Čtení za 3 minuty.
2026-03-14
2026-06-04
2,016
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ývoj vlastního WordPress tématu je systématický proces, který vám nejen umožní plně ovládat vzhled a funkce webové stránky, ale je také skvělým způsobem, jak hloubkově pochopit základní principy fungování WordPressu. Na rozdíl od použití hotových témat znamená vlastní vývoj začít od nejzákladnějších prvků – HTML, CSS, PHP a JavaScript – a vytvořit webovou stránku, která plně odpovídá vašim nebo klientovým požadavkům. Tento proces zahrnuje plánování, vytvoření struktury souborů, vývoj šablon, integraci funkcí a nakonec testování a publikování.

Přípravné práce před vývojem

Před napsáním prvního řádku kódu je důkladné přípravě klíčem k úspěchu. To zahrnuje stanovení jasných cílů, vytvoření vhodného vývojového prostředí a seznámení se se základními nástroji.

Jasně definovat požadavky na téma a plánování

Nejprve musíte určit cíle webové stránky, jejich cílovou skupinu a hlavní funkce. Jde o blog, firemní webové stránky nebo e-shop? Naplánujte typy stránek, které webové stránky potřebují – např. úvodní stránku, stránky s články, stránky s archivem atd. Zároveň zvážte responzivní design, kompatibilitu se zařízeními a možnou potřebu kompatibility s určitými doplňky. Nakreslení jednoduchých náčrtů („wireframes“) nebo designových předloh může výrazně usnadnit následný vývoj.

Doporučujeme k přečtení. Praktický průvodce vývojem temát pro WordPress od základů až po mistrovství: Vytváření vlastních webových temát

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

Pro efektivní a bezpečný vývoj je vysoce doporučeno si na svém počítači nastavit vývojové prostředí. Můžete použít nástroje jako XAMPP, MAMP, Local by Flywheel nebo DevKinsta, které vám umožní rychle nainstalovat WordPress, PHP a databázi MySQL. Vývojové prostředí na počítači vám umožní volně testovat své aplikace, aniž by to ovlivnilo fungování webové stránky online.

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.

Znalost potřebných vývojových nástrojů

Kromě kódového editoru budete potřebovat i několik pomocných nástrojů. Nástroje pro vývojáře v prohlížečích slouží k ladění CSS a JavaScriptu; systémy pro správu verzí, jako je Git, pomáhají spravovat změny v kódu; možná budete také potřebovat Node.js a NPM k řízení procesů vývoje front-end stránek – např. k kompilaci CSS pomocí Sass nebo k balení JavaScriptu.

Základní struktura a klíčové soubory pro vytvoření tématu

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í řadu konkrétních souborů. Začněme tedy vytvořením nejjednoduššího možného souboru.

Subject Information File

Každé téma musí mít jedno…style.cssSoubor obsahuje blok poznámek v úvodu, který slouží k definování metadat tématu. To je vstupní bod pro WordPress, který umožňuje rozpoznat dané téma.

/*
Theme Name: 我的自定义主题
Theme URI: https://example.com/my-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” se používá pro internacionalizaci; v tomto příkladu to znamená…my-custom-theme

Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress temat: Od základů až po pokročilé techniky

Potřebné šablonové soubory

Jsou potřeba alespoň dvě základní soubory:index.phpstyle.cssAle abychom vytvořili tematiku s kompletní funkcionalitou, měli bychom vytvořit podrobnější soubory šablon.
* index.phpToto je hlavní šablona tématu a WordPress ji použije výchozím způsobem, pokud neexistují žádné konkrétnější šablony.
* header.phpObsahuje záhlaví dokumentu.HTML kód na začátku oblastí a stránek.
* footer.phpZahrnuje HTML kód a uzavírací značky na spodní část stránky.
* functions.phpToto je soubor “funkcí” tématu, který slouží k přidávání podpory pro dané téma, menu, oblastí s nástroji, šablon stylů a skriptů atd.

projít (účtem, kontrolou atd.)get_header()get_footer()get_sidebar()Šablony obsahují různé značky (tagy), které umožňují vložit konkrétní části obsahu do jiných šablon. Tyto části mohou být poté použity v rámci těchto šablon.

Thematic Feature File

functions.phpSoubor představuje váš centrum pro správu témat. Zde můžete téma vylepšit přidáváním různých funkcí. Například můžete povolit zobrazení přehledů článků, nastavit umístění registrace receptů, definovat oblast pro příslušenství (takzvané „widgets“), stejně jako přidat šablony stylů a soubory skriptů.

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.

Níže je…functions.phpZákladní příklad:

__( '主导航菜单', 'my-custom-theme' ),
    ) );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

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

// 排入样式表和脚本
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/script.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );
?&gt;

Vytvoření základní šablony a cyklu

WordPress využívá hierarchii šablon k určení toho, který šablonový soubor se má použít pro konkrétní stránku. Porozumění a vytváření těchto šablon je ústředním aspektem vývoje temát (tém).

Porozumění struktuře a hierarchii šablon

Systém úrovní šablon v WordPressu určuje pravidla pro výběr šablonových souborů. Například při návštěvě blogového článku WordPress postupně hledá šablonu podle následujícího pořadí:single-post-{id}.php -> single-post.php -> single.php -> singular.php -> index.phpMůžete přepsat všeobecné šablony tím, že vytvoříte konkrétnější šablony s podrobnějšími instrukcemi.

Doporučujeme k přečtení. Průvodce vývojem tem pro WordPress: Vytváření pokročilých rozhraní od nuly

Ovládnutí cyklů v WordPressu

“Cyklus” je PHP kód v WordPressu, který slouží k načítání obsahu z databáze a jeho zobrazení na stránce. Je jádrem veškerého výstupu obsahu. Typická struktura cyklu vypadá následovně:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <article id="post-<?php the_ID(); ?>" no numeric noise key 1006>
        <h2><a href="/cs/</?php the_permalink(); ?>"><p><strong> Řekněte mi něco o sobě.</strong></p></a></h2>
        <div class="entry-content">
            <?php the_content(); ?>
        </div>
    </article>
<?php endwhile; else : ?>
    <p><?php _e( '抱歉,没有找到任何内容。', 'my-custom-theme' ); ?></p>
<?php endif; ?>

Šablonské značky, jako např.the_title()the_content()the_permalink()Používá se uvnitř cyklu k výstupu příslušných dat článku.

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.

Vytvoření šablon běžných stránek

Podle vašeho plánu začneme vytvářet konkrétní šablonové soubory:
* front-page.phpVlastní domovská stránka.
* page.php: Používá se pro statické stránky.
* single.phpPoužívá se pro jednotlivé články na blogu.
* archive.phpPoužívá se pro klasifikaci, označování, uvedení autorů, dat a další funkce archivačních stránek.
* 404.php404 chybová stránka.
* search.phpStránka s výsledky vyhledávání.

Každý šablonový soubor by měl obsahovat odkazy na záhlaví a patu stránky a podle potřeby také na postranní lištu.

Přidání stylů, skriptů a pokročilých funkcí

Jakmile je základní infrastruktura a šablony připraveny, následuje vylepšování vzhledu rozhraní, přidávání interakcí a integrace složitějších funkcí.

Implementování responsivního designu pomocí CSS

style.cssPři psaní CSS je důležité zajistit, aby váš design dobře vypadal na všech zařízeních. Používejte strategii „mobile first“ a využívejte mediální dotazy k přidávání stylů pro tablety a počítače. Správné využití CSS technik jako Flexbox nebo Grid umožňuje snadnější vytváření složitých, reaktivních stránek.

Bezpečné zavádění JavaScriptu

Jak bylo uvedeno dříve, všechny soubory JavaScript by měly být distribuovány prostřednictvím…wp_enqueue_script()Funkce je v příloze. functions.phpJe to zavedeno za účelem zajištění správného zpracování závislostí a předcházení opakovanému načítání skriptů. Pro skripty, které potřebují závislost na jQuery, prosím…wp_enqueue_script()Declarujte to v seznamu závislostí.

Integrace vlastních typů článků a systémů klasifikace

Pro složitější weby mohou být výchozí termíny “článek” a “stránka” nedostatečné. Můžete použít…register_post_type()register_taxonomy()Funkce slouží k vytvoření vlastních typů článků (např. “Produkt”, “Projekt”) a vlastních kategorií. Obvykle se tento kód přidává do…functions.phpNebo v samostatném plug-inu.

Implementace podpory přizpůsobení tématu

Aby uživatelé mohli v pozadí WordPressu v reálném čase předvídat a upravovat nastavení barvy tématu, loga a dalších parametrů, můžete integrovat WordPress Customizer. K tomu je potřeba použít…WP_Customize_ManagerTakové třídy umožňují přidávat nastavení, ovládací prvky a další funkce. To zvyšuje profesionalitu a použitelnost daného tématu.

Témata testování a vydávání

Po dokončení vývoje jsou důkladné testy klíčovým krokem k zajištění kvality tématu.

Provedení komplexního testování funkcionalit

Otestujte všechny funkce na lokálním i dočasném webu: navigační menu, příslušenství, seznam článků, stránkování, vyhledávání, formuláře pro komentáře, šablony stránek atd. Ujistěte se, že neexistují žádné chyby ani varování v PHP kódu.

Zkontrolujte reaktivitu a kompatibilitu s různými prohlížeči.

Otestujte vzhled tématu na různých zařízeních (telefony, tablety, počítače) a běžných prohlížečích (Chrome, Firefox, Safari, Edge). Ujistěte se, že rozložení a funkce fungují správně ve všech prostředích.

Dodržovat kódovací standardy WordPress a podporovat internacionalizaci

Ujistěte se, že váš kód dodržuje příslušné standardy a pravidla.Standardy kódování PHP pro WordPressZároveň použijte veškerý text určený pro uživatele.()_e()Funkce je zabalená tak, aby podporovala vícejazyčné překlady. Například:echo ( ‘阅读更多’, ‘my-custom-theme’ );

Příprava publikování tématu

Očistěte kód, zkompresujte front-end zdroje (pokud je to vhodné) a vytvořte podrobný soubor readme.txt. Pokud plánujete téma zveřejnit na WordPress.org, ujistěte se, že dodržujete všechny požadavky této platformy. Pro soukromé projekty zajistěte také jasné návody k instalaci a použití.

Závěr

Vývoj vlastního WordPress tématu od nuly je náročný, ale zároveň velmi přínosný proces. Vyžaduje od vás kombinované znalosti HTML, CSS, PHP a JavaScript, stejně jako hluboké porozumění struktuře šablon, cyklům a systému hooků v WordPressu. Pokud postupujete podle postupu “plánování → vytvoření základů → vývoj šablon → přidání stylových funkcí → důkladné testování”, budete schopni vytvořit stabilní, profesionální téma, které plně splňuje vaše požadavky. Tento proces nejenže zlepší vaše vývojové dovednosti, ale také vám poskytne jedinečné digitální dílo.

Časté dotazy

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

Ano, pevné základy v PHP jsou nezbytné. Jádro WordPressu a jeho systém šablon jsou totiž vybudovány pomocí PHP. Budete potřebovat PHP k výstupu dynamického obsahu, zpracování logiky a volání základních funkcí WordPressu. Zároveň je stejně důležité dobře ovládat HTML, CSS a JavaScript.

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

functions.phpSoubory jsou součástí konkrétního tématu a jejich funkce se aktivují při povolení tohoto tématu a deaktivují při jeho zakázání. Slouží především k přidávání vlastností, které jsou úzce spojeny s vizuálním vzhledem a funkcemi daného tématu. Naopak pluginy slouží k přidávání univerzálních funkcí, které nezávisí na konkrétním tématu – jejich funkce zůstávají aktivní i po změně tématu. Obvykle by mělo být zváženo vytvoření pluginu pro funkce, které nejsou vázány na stylové prvky konkrétního tématu a které lze použít i v jiných tematech.

Můžu upravit stávající téma a na základě toho vytvořit nové téma?

Možné, ale je třeba dbát na licenční podmínky týkající se autorských práv. Mnoho témat je licencováno pod licencí GPL, což vám umožňuje je upravovat a dále distribuovat. Nejlepší praxí je vytvořit “podtema” (subtheme). Podtema vám umožní převzít všechny funkce mateřského tématu a vy potřebujete pouze upravit konfigurace v rámci podtema.style.cssNahraďte části, které chcete upravit, ve šablonových souborech. Tím zajistíte, že vaše vlastní úpravy nebudou při aktualizaci mateřského tématu přepsány.

Jak zajistit, aby můj web nebo aplikace podporovaly více jazyků ( internacionalizaci)?

Musíte udělat dvě věci. Za prvé, při vývoji témat používejte funkce pro překlad všech řetězců určených pro uživatele.__( ‘文本’, ‘text-domain’ )Zadruhé, použijte nástroje jako Poedit k vytvoření….potPřeložte šablonový soubor a poté pro každý jazyk vytvořte odpovídající verzi..po.moSoubory. Uživatelé mohou spravovat překlady pomocí doplňků, jako jsou WPML nebo Loco Translate.