Kompletní průvodce vývojem temát pro WordPress: Od základů po pokročilé praktické návody

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

Poznejte základní strukturu WordPressových témat.

WordPress téma je v podstatě soubor kolekce souborů, které společně určují vzhled a funkce webové stránky z pohledu uživatelského rozhraní. Ze všech těchto souborů existují dva, které musí být součástí každého tématu:style.cssindex.phpTvoří základní kameny daného tématu.

Na nejzákladnější úrovni fungují tematika WordPress prostřednictvím systému souborů šablon. Když návštěvník požádá o stránku, WordPress určí na základě typu požadavku (např. úvodní stránka, stránka článku, archivní stránka atd.) který soubor PHP šablony má načíst za účelem zobrazení obsahu. Tento design umožňuje vývojářům velmi flexibilně ovládat výstup různých typů stránek.

Přehled struktury tematického souboru

Standardní téma WordPressu obsahuje řadu specifických souborů. Kromě těch nezbytných…style.cssindex.phpFunkčně dokonalé téma obvykle zahrnuje také:functions.phpheader.phpfooter.phpsidebar.phpA také šablony pro různé stránky, např.:single.php(Článková stránka) Apage.php(Stránka).functions.phpSoubory jsou “mozkem” tématu a slouží k přidávání funkcí, registraci menu, bočních panelů a dalších prvků.

Doporučujeme k přečtení. Úvod do vývoje WordPress temat: Postavte si svůj první webový „skin“ od nuly

style.cssSoubor neobsahuje pouze šablony stylů, ale také poznámky v hlavičce souboru, které obsahují metadata o tématu – jako je název tématu, autor, popis, verze atd. To je klíčové pro to, aby WordPress rozpoznal dané téma.

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.
/**
 * Theme Name: My Custom Theme
 * Author: Your Name
 * Description: A custom theme built from scratch.
 * Version: 1.0
 */

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

Než začnete psát kód, je velmi důležité vytvořit profesionální lokální vývojové prostředí. To vám umožní testovat všechny funkce v bezpečném a izolovaném prostředí, aniž by to ovlivnilo webové stránky v reálném prostředí.

Doporučená sada nástrojů zahrnuje Local by Flywheel, XAMPP nebo MAMP, které umožňují jednoduchou instalaci PHP, MySQL a WordPress. Kromě toho je pro moderní vývoj temat také nezbytný výkonný editor kódu (např. VS Code, PhpStorm) a systém pro správu verzí (např. Git).

Vytvořte svou první složku s tematikou.

Nejprve, ve složce s instalací WordPress:wp-content/themes/V té složce vytvořte novou složku, například…my-first-themeNázev tohoto složky je právě vaším identifikátorem tématu.

Poté v této složce vytvořte dvě nejzákladnější soubory:style.cssindex.phpUjistěte se, že…style.cssVyplňte kompletně informace o hlavičce souboru. Nyní se přihlaste do administrace WordPress na stránce “Vzhled” -> “Témata” a měli byste vidět své nové téma – i když zatím nemá žádný vzhled ani funkce.

Doporučujeme k přečtení. Kompletní příručka pro vývoj WordPress temat: Od základního kódu po praktické techniky

Zavedení klíčových komponent šablon

Aby bylo dodrženo pravidlo DRY (Don’t Repeat Yourself – Nepoužívejte stejné kódy vícekrát), používají tematika WordPress šablonové komponenty k rozdělení společných částí kódu.header.phpfooter.phpsidebar.php

index.phpV čínštině se používáget_header()get_footer()get_sidebar()Funkce slouží k načtení těchto komponent. Jedná se o základní šablonové značky WordPressu, které automaticky hledají a načítají šablonové soubory se odpovídajícími názvy.

// 在 index.php 中的典型结构
<?php get_header(); ?>

<main id="main">
    <?php
    if ( have_posts() ) :
        while ( have_posts() ) : the_post();
            // 输出文章内容
        endwhile;
    endif;
    ?>
</main>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Prohloubení se do základních šablon a cyklů

“Cyklus” v WordPressu je klíčovým mechanismem pro zobrazování obsahu. Jedná se o strukturu PHP kódu, která zjišťuje, zda na aktuální stránce existují články (nebo jiné stránky). Pokud ano, cyklus prochází všechny tyto články a zobrazí jejich obsah.

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.

Porozumění hlavnímu cyklu a dotazům

Nejzákladnější struktura cyklu je uvedena níže. Vyskytuje se téměř ve všech šablonových souborech a slouží k získávání a zobrazování seznamu článků nebo obsahu jednotlivých článků.

<article>
            <h2><p><strong> Řekněte mi něco o sobě.</strong></p></h2>
            <div><?php the_content(); ?></div>
        </article>

V tomto cyklu…have_posts()the_post()Funkce řídí průběh procesu. Šablony a značky jako…the_title()the_content()Slouží k výstupu konkrétních informací o aktuálním článku.

Vytvoření vlastního šablónu stránky

Můžete vytvořit jedinečný layout pro konkrétní stránku. K tomu je potřeba vytvořit nový PHP soubor a na začátku tohoto souboru přidat poznámku s názvem příslušné šablony.

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

Například, vytvořte něco s názvem…template-fullwidth.phpSoubor, do kterého se zapisuje, začíná následujícím textem:

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

Po uložení můžete v administraci WordPressu editovat libovolnou stránku a v rozbalovacím menu “Vlastnosti stránky” -> “Šablona” uvidíte možnost “Celoplošná stránka”. Pokud ji zvolíte, bude tato stránka renderována pomocí vaší vlastní šablony.

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.

Využitím souborů s funkcemi lze rozšířit funkce daného tématu.

functions.phpToto je vaše nástrojová skříňka pro správu temat („theme toolbox“). Zde můžete přidávat funkce podporující správu temat, registrovat navigační menu, definovat oblasti pro přidávání doplňkových funkcí („widgets“), řídit pořadí zavádění stylů a skriptovacích souborů, a také vytvářet vlastní funkce.

Přidání podpory temat a registračního menu

Použitíadd_theme_support()Funkce mohou aktivovat základní funkce WordPressu. Například aktivace funkce zobrazení příspěvkových miniatur je standardní vlastností mnoha temat.

function mytheme_setup() {
    // 支持文章特色图像
    add_theme_support( 'post-thumbnails' );
    // 支持HTML5标记(用于评论表单、搜索表单等)
    add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'style', 'script' ) );
    // 支持自定义Logo
    add_theme_support( 'custom-logo' );
}
add_action( 'after_setup_theme', 'mytheme_setup' );

Použití registračního navigačního menuregister_nav_menus()Funkce. Po registraci budete moci tyto položky menu spravovat v záložce “Vzhled” -> “Menu” v administraci a používat je v šablonách.wp_nav_menu()Použijte to k volání.

register_nav_menus( array(
    'primary' => __( '主导航菜单', 'my-theme' ),
    'footer'  => __( '页脚菜单', 'my-theme' ),
) );

Bezpečně zavést styly a skripty.

Nikdy nepoužívejte kódování odkazů na CSS a JS soubory přímo v šablonových souborech. Správný způsob je použít…wp_enqueue_style()wp_enqueue_script()Funkce a jejich připojení kwp_enqueue_scriptsNa tomto háčku. To zajišťuje, že závislosti jsou správně zpracovány a předchází tak opakovanému načítání.

function mytheme_scripts() {
    // 引入主题主样式表
    wp_enqueue_style( 'mytheme-style', get_stylesheet_uri() );
    // 引入自定义JavaScript文件
    wp_enqueue_script( 'mytheme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'mytheme_scripts' );

Implementovat responsivní design a personalizaci témat

Moderní témata musí být responzivní. To znamená, že jejich rozložení a vzhled by se měly automaticky přizpůsobovat různým velikostem obrazovek – od mobilních telefonů po počítače. Toho je dosaženo především pomocí CSS mediálních dotazů.

Vytvoření CSS s důrazem na mobilní zařízení

Doporučujeme použít CSS strategii zaměřenou na mobilní zařízení (“mobile-first”). Nejprve vytvořte základní styly vhodné pro malé obrazovky a poté pomocí mediálních dotazů postupně přidávejte nebo přepisujte styly pro větší obrazovky.

/* 基础样式(针对移动设备) */
.container {
    width: 100%;
    padding: 1rem;
}

/* 中等屏幕(平板) */
@media (min-width: 768px) {
    .container {
        width: 750px;
        margin: 0 auto;
    }
}

/* 大屏幕(桌面) */
@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

Integrace s vlastními přizpůsobeními WordPressu

WordPress Customizer umožňuje uživatelům v reálném čase předvídat a upravovat určité nastavení témat (jako jsou barvy, písma).WP_Customize_ManagerK objektům můžete přidávat vlastní, přizpůsobené možnosti (tzv. „custom options“) pro dané téma.

Nejprve…functions.phpVytvořte funkci v… a použijte ji.customize_registerHák.

function mytheme_customize_register( $wp_customize ) {
    // 添加一个设置项,用于保存主题色
    $wp_customize->add_setting( 'primary_color', array(
        'default' => '#0073aa',
        'sanitize_callback' => 'sanitize_hex_color',
    ) );

// 添加一个颜色控件到某个面板或节
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'primary_color', array(
        'label'    => __( '主题主色', 'my-theme' ),
        'section'  => 'colors',
        'settings' => 'primary_color',
    ) ) );
}
add_action( 'customize_register', 'mytheme_customize_register' );

Poté můžete to využít v CSS na straně klienta (na straně uživatele).get_theme_mod( 'primary_color' )Získat hodnoty nastavené uživatelem a vygenerovat dynamický vzhled.

Závěr

Vývoj tem pro WordPress je proces kombinování kreativity a techniky. Začíná se pochopením základní struktury souborů, hierarchie šablon a klíčových cyklů, pokračuje vytvořením prostředí pro vývoj, psaním komponent šablon a dalším krokem je…functions.phpFunkce injekce dat, následované implementací responsive designu a personalizovatelných možností – každý krok vývoje je založen na pochopení předchozího kroku. Pokud ovládnete tyto základní dovednosti, budete schopni od nuly vytvořit WordPress téma, které je funkčně výkonné, esteticky působivé a splňuje nejlepší praktiky. Nezapomeňte, že praxe je klíčem k učení – neustálé zkoušení, prostudování oficiálních dokumentací a vytváření projektů jsou nejlepšími způsoby, jak své dovednosti zlepšit.

Č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 je totiž napsáno v PHP a všechny šablony a funkce jsou závislé na tomto jazyce. Musíte alespoň rozumět základním gramatickým pravidlům, jako jsou proměnné, pole, funkce, cykly a podmínkové příkazy, stejně jako způsobům interakce s konkrétními funkcemi a „hooky“ (speciálními mechanismy v WordPressu).

Lze upravit informace v hlavičce souboru style.css týkající se daného tématu?

Možné, ale je třeba postupovat opatrně. Informace “Theme Name” v hlavičce souboru jsou jediným identifikátorem tématu, který je používán v pozadí systému WordPress. Pokud tuto informaci během vývoje změníte, WordPress to bude považovat za zcela nové téma. U již nasazených témat může přímá změna názvu vést k problémům – uživatelé mohou přejít na jiné téma nebo přijít o nastavení svých webových stránek.

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

Musíte se připravit na internacionalizaci (i18n) tématu. V kódu musíte všechny řetězce určené pro uživatele obalit pomocí funkcí pro překlad v WordPressu.__( ‘文本’, ‘my-theme-textdomain’ )_e( ‘文本’, ‘my-theme-textdomain’ )Poté vytvořte s pomocí nástrojů, jako je Poedit..potŠablony souborů – překladatelé mohou na základě nich vytvořit verze dokumentů v různých jazycích..po.moSoubor. Nakonec, použijte…load_theme_textdomain()Překlad textu „Funkce načítání“: „Function loading“.

Jaký je rozdíl mezi podtématy a nadtématy? Kdy je vhodné je použít?

Podtémata dědí všechny funkce a styly z nadřazeného tématu a umožňují vám bezpečně upravovat nadřazené téma, přidávat nové funkce nebo přepisovat styly. Pokud chcete na základě existujícího, vyvinutého tématu (nadřazeného tématu) provést hlubokou personalizaci a zároveň si zajistit, že v budoucnu budete moci bezpečně aktualizovat nadřazené téma bez ztráty vašich vlastních úprav, měli byste vytvořit podtémata. Pro podtémata je potřeba pouze…style.cssA s jedním…functions.phpSoubor může fungovat bez dalších úprav.