Od nuly ke jedničce: Kompletní průvodce vývojem vlastních WordPress temat

Čtení za 3 minuty.
2026-03-20
2026-06-04
2,541
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 oblasti vývoje webových stránek dnes je sice použití předpřipravených témat pohodlné, avšak ovládnutí možností jejich vlastního nastavení a úpravy je velmi cenné.WordPress主题Vývojové schopnosti znamenají, že máte plnou kontrolu nad designem, funkcemi a výkonností webové stránky. To nejenom pomáhá vytvořit jedinečný image značky, ale také umožňuje hlubší pochopení…WordPressNejlepší způsob, jak využít hlavní pracovní principy. Tento článek vás provede od nejzákladnějšího nastavení prostředí až po postupné vytvoření vlastního tématu s základní strukturou.

inicializace vývojového prostředí a struktury témat

Než začnete psát kód, je velmi důležité vytvořit efektivní lokální vývojové prostředí. Doporučujeme použít nástroje jako Local by Flywheel, MAMP nebo XAMPP k rychlému nastavení lokálního serveru obsahujícího PHP, MySQL a Apache/Nginx. Zároveň se ujistěte, že váš kódový editor (např. VS Code, PhpStorm) má nainstalované doplňky vhodné pro vývoj webových stránek na bázi WordPress, jako je např. PHP Intelephense.

Prvním krokem při vytvoření nového tématu je vytvoření správné struktury adresářů. Ve vašem…WordPressVe složce určené k instalaciwp-content/themesV té složce vytvořte novou složku s názvem odpovídajícím vašemu tématu, například “my-custom-theme”.

Doporučujeme k přečtení. Úvod do vývoje WordPress temat: Postup od základů až po dokonalé vytvoření vlastní temat

V této složce musí být vytvořen nejzákladnější soubor.style.cssindex.phpstyle.cssNejenže slouží k uchovávání stylů, ale také nadřazený část s poznámkami představuje “občanský průkaz” daného tématu – slouží k jeho identifikaci a popisu.WordPressIdentifikovat a zobrazit hlavní informace o 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.

Níže je standardní…style.cssPříklad záhlaví souboru:

/**
 * 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 DomainJe určeno k internacionalizaci a mělo by být v souladu se názvem složky obsahující dané téma.index.phpBude sloužit jako výchozí šablonový soubor pro všechny stránky.

Core template files and theme iteration

WordPressPoužívejte systém úrovní šablon k určení toho, jak se budou různé typy obsahu zobrazovat. Porozumění a vytváření těchto základních šablonových souborů je klíčové pro vývoj témat.

Nejprve rozdělte obecnou strukturu stránky (jako jsou deklarace HTML5, hlavička, patka) na samostatné soubory.header.phpSoubory obvykle obsahují…<doctype html><head>Region a úvodní část webové stránky (např. logo a navigační menu). Lze to využít.wp_head()Funkce umožňuje…WordPressZde vložte potřebný kód a styly pomocí pluginů.

Doporučujeme k přečtení. Vytvoření úspěšného WordPressového motivu: kompletní návod od nuly do jedné.

Podle toho potřebujeme vytvořit…footer.phpSlouží k uložení obsahu na spodní část stránky a k jeho použití.wp_footer()Funkce. Hlavní boční panel webové stránky může být umístěn…sidebar.phpČína.

A poté,index.phpV čínštině se používáget_header()get_footer()get_sidebar()Funkce slouží k načtení těchto částí.

Dále potřebujete pochopit a implementovat “WordPress The Loop”.WordPressJedná se o základní mechanismus určený k vyhledávání a zobrazování článků z databáze. Nejzákladnější kód 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.
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <article id="post-My Custom Theme get_the_id(); ?>" no numeric noise key 1002>
        <h2><a href="/cs/My Custom Theme get_permalink(); /?>">Moje vlastní tema: the_title(); ?&gt;</a></h2>
        <div class="entry-content">
            Moje vlastní tema: the_content(); ?&gt;
        </div>
    </article>
<?php endwhile; else : ?>
    <p>My Custom Theme _e( 'Sorry, no posts matched your criteria.', 'my-custom-theme' ); ?&gt;</p>
<?php endif; ?>

Pro zlepšení uživatelského zážitku lze po skončení cyklu přidat navigaci pro stránkování.the_posts_pagination()Funkce bude stačit.

Integrace pokročilých šablon a funkcí

Po dokončení základní struktury lze vytvořit profesionálnější šablony pro konkrétní typy obsahu. Například:single.phpPro ovládání zobrazení jednotlivých článků…page.phpPro samostatnou stránku,archive.phpPoužívá se pro klasifikaci, označování a archivaci stránek.404.phpSlouží k zpracování situací, kdy stránka není nalezena.

moderníWordPressVývoj týmu důrazně doporučuje podporu funkce “zkrácené obrázky článků”. Je nutné, abyste…functions.phpDo souboru byla přidána deklarace podpory témat. Tento soubor je “funkčním centrem” vašeho tématu a slouží k přidávání různých funkcí, registraci menu a dalších funkcí.

Doporučujeme k přečtení. Úvodní průvodce vývojem WordPress temat: Postavte si své první vlastní téma od nuly

functions.phpPřidejte následující kód, abyste aktivovali několik základních funkcí:

<?php
function my_custom_theme_setup() {
    // 让主题支持文章特色图像
    add_theme_support( 'post-thumbnails' );
    // 支持在后台自定义Logo
    add_theme_support( 'custom-logo' );
    // 为文章和评论输出HTML5标记
    add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'style', 'script' ) );
    // 支持标题标签功能(WordPress自动管理<title>标签)
    add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'my_custom_theme_setup' );

Dalším klíčovým krokem je registrace místa, kde se nachází vaše restaurace. Pokračujte v tom…functions.phpPřidat do seznamu:

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_custom_theme_menus() {
    register_nav_menus(
        array(
            'primary' => __( 'Primary Menu', 'my-custom-theme' ),
            'footer'  => __( 'Footer Menu', 'my-custom-theme' ),
        )
    );
}
add_action( 'init', 'my_custom_theme_menus' );

Po registraci budete moci pracovat s příslušnými šablonovými soubory (např.header.phpPoužívá se v…)wp_nav_menu( array( ‘theme_location’ => ‘primary’ ) );Je načase zavolat navigační menu.

Úprava stylů, správa skriptů a optimalizace témat

Výborné téma by mělo nejen plně funkční vlastnosti, ale také být esteticky příjemné a efektivní v používání. Doporučujeme zapsat hlavní pravidla stylizace do kódu, aby byla jejich aplikace jednotná a snadná.style.cssA použijte…wp_enqueue_style()Funkce správně přidá daný element do fronty. Pro soubory v formátu JavaScript by mělo být použito…wp_enqueue_script()Funkce, a věnujte pozornost závislostem a místům jejich načítání (v hlavičce nebo v patičce stránky).

Příklad funkce na přidání standardního skriptu a souboru se šablonami do fronty by měl být přidán do…functions.phpStřed:

function my_custom_theme_scripts() {
    // 引入主题的主样式表
    wp_enqueue_style( 'my-custom-theme-style', get_stylesheet_uri() );
    // 引入一个自定义的JS文件,依赖jQuery,并在页脚加载
    wp_enqueue_script( 'my-custom-theme-script', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ), null, true );
}
add_action( 'wp_enqueue_scripts', 'my_custom_theme_scripts' );

Pro zlepšení udržovatelnosti a rozšiřitelnosti tématu lze zavést koncept “tematických částí” („template parts“).get_template_part()Funkce odděluje některé znovupoužitelné kusy kódu (jako jsou metadata článků, informace o autorovi) do samostatných PHP souborů. Například:template-parts/content.php

Na závěr nelze ignorovat výkon a bezpečnost. Ujistěte se, že všechna dynamická data zobrazovaná na stránce jsou zpracována pomocí vhodných metod a že jsou dodržovány příslušné bezpečnostní standardy.WordPressVestavěné funkce slouží k escapeování určitých znaků, například…esc_html()esc_attr()esc_url()Zvažte optimalizační opatření, jako je pozdní načítání obrázků a minimalizace souborů CSS/JS, a dodržujte příslušné zásady.WordPressOficiální standard kódování.

Závěr

Od vytvoření něčeho, co obsahuje…style.cssindex.phpZačal jste v adresáři a postupně jste vytvořili kompletní, vlastní řešení.WordPress主题Tento proces zahrnuje klíčové šablonové soubory (jako…)header.phpfooter.phpRozdělení stránek, implementace cyklů v WordPressu, vytváření pokročilých šablon a další aspekty…functions.phpIntegrujte do témat klíčové funkce, jako je registrace menu a využití speciálních obrázků. Dodržováním osvědčených postupů – např. správného formátování skriptů, používání šablon a dbání na bezpečnost dat – vytvoříte originální téma s jasnou strukturou, kompletními funkcemi, vysokým výkonem a snadnou údržbou. Toto vám poskytne solidní základ pro další výzkum a vývoj složitějších funkcí, jako jsou temata s blokovým editorem nebo možnosti přizpůsobení typů článků.

Časté dotazy

Před vývojem vlastního tématu je potřeba znát následující základní znalosti:

Doporučujeme mít alespoň solidní znalosti HTML a CSS, které jsou základem pro vytváření struktur a stylů stránek. Zároveň je nutné mít základní povědomí o PHP, protože jádro WordPressu a jeho systém šablon je napájeno PHP. Počáteční znalosti JavaScriptu vám pomohou přidávat interaktivní funkce. Rovněž je nezbytné porozumět základním konceptům WordPressu, jako jsou články, stránky, kategorie, háčky (hooks) a cykly.

Jak vybrat správný způsob vývoje vlastních témat a podtémat?

Pokud plánujete provést relativně malé změny nebo přidat nové funkce ke stávajícímu tématu, vytvoření podtematu je bezpečnější a efektivnější volbou. Podtemat může dědit všechny funkce mateřského tematu a vy potřebujete pouze přepsat ty soubory nebo funkce, které chcete upravit. Tím se zajistí, že při aktualizaci mateřského tematu vaše přizpůsobení obvykle neztratí. Naopak, pokud potřebujete začít od nuly a vytvořit zcela nové téma s novým designem, uspořádáním a sadou funkcí, nebo si chtějete hlouběji prozkoumat základní principy WordPressu, měli byste zvolit vývoj vlastního tematu od nuly.

Jak přidat podporu pro widgety ke svému tématu?

Tyto malé nástroje lze podpořit tak, že se…functions.phpStránková nabídka je registrována v souboru a potřebujete ji použít.register_sidebar()Funkce slouží k definování jednoho nebo více panelů pro přidávání doplňků (“widgets”). V rámci této funkce můžete nastavit ID, název, popis bočního panelu a také elementy, které ho obklopují („přední“ a „zadní“). Po úspěšné registraci budou uživatelé moci tyto panely přidávat do sekce „Vzhled -> Widgety“ v administraci WordPressu. Nakonec je nutné tyto nastavení zahrnout do šablonových souborů (např.…)sidebar.phpPoužívá se v…)dynamic_sidebar()Funkce slouží k zobrazení obsahu přidaných doplňků („plug-inů“).

Proč se moje vlastní téma nezobrazuje v pozadí (v administraci)?

To je obvykle způsobeno tím, že…style.cssProblém je způsoben nesprávným formátem hlavičky s poznámkami k tematickým informacím na začátku souboru nebo chybějícími údaji. Ujistěte se, že soubor existuje v kořenovém adresáři tématu a že v hlavičce poznámek jsou všechny potřebné informace správně zadány.Theme Name:Všechny pole musí být kompletní a mít správný formát. Dalším častým důvodem jsou chyby v umístění složky s tématy – ta musí být umístěna přímo na správném místě.wp-content/themes/Ve složce „catalog“. Kromě toho zkontrolujte, zda vaše verze WordPressu splňuje požadavky daného tématu, a zda neexistují chyby v PHP syntaxi – ty také mohou zabránit správnému fungování tématu.