Začněte od nuly: Naučte se celý proces vývoje témat WordPress a vytvořte vysoce výkonné přizpůsobené téma.

Čtení za 3 minuty.
2026-03-12
2026-06-03
2,676
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 tem pro WordPress není pouhým úpravováním vzhledu; jedná se o systémový projekt, který zahrnuje front-end, back-end a optimalizaci výkonu. Přizpůsobená tema nejen dokonale odpovídá image značky a obchodním funkcím, ale díky pečlivé optimalizaci kódu také výrazně zvyšuje rychlost webové stránky a zlepšuje uživatelský zážitek. Tento článek systematicky rozebírá klíčové kroky vývoje tem, základní soubory a osvědčené postupy, abyste mohli vytvořit tema pro WordPress, které je jak esteticky příjemné, tak i efektivní.

Vytvoření vývojového prostředí a základní infrastruktury

Než začnete psát první řádek kódu, je stabilní a efektivní vývojové prostředí základem pro úspěch. To nejenže zajišťuje normální strukturu kódu, ale také usnadňuje následnou ladění a nasazení aplikace.

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

Doporučujeme použít lokální serverové integrační prostředí, jako je Local by Flywheel, XAMPP nebo MAMP. Tyto nástroje umožňují jednoduchou instalaci PHP, MySQL a webového serveru. Dále budete potřebovat editor kódu, např. Visual Studio Code, a také nainstalovat doplňky pro výrazné zvýraznění kódu, tipy při psaní kódu pro PHP, CSS a JavaScript. Nakonec použijte Git pro správu verzí a inicializujte repozitář kódu – to je nezbytná součást správy změn v projektu a týmové spolupráce.

Doporučujeme k přečtení. Pokročilý průvodce vývojem témat WordPressu: vytvořte profesionální responzivní téma od nuly.

Vytvoření tematického adresáře a klíčových souborů

Nejzákladnější WordPress téma vyžaduje alespoň dva soubory:style.cssindex.phpstyle.cssNejedná se pouze o šablony stylů, ale také o “občanské doklady” tématu – poznámky v hlavičce souboru obsahují veškeré metadaty o tomto 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.
/*
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
*/

index.phpJedná se o výchozí šablonový soubor tématu, který slouží jako záložní šablona pro všechny stránky. Budete také potřebovat vytvořit další klíčové soubory, např. ty, které slouží k zobrazení jednotlivých článků.single.phpSlouží k zobrazení stránky.page.phpa také to, co ovládá celkové uspořádáníheader.phpfooter.phpsidebar.phpProstřednictvímget_header()get_footer()get_sidebar()Tyto šablónové značky umožňují tyto části zavádět modulárně.

Inicializace souboru s funkcemi

functions.phpJde o “mozek” této tématiky, sloužící k přidávání nových funkcí a registraci nových vlastností. Zde můžete provádět potřebné úpravy.add_theme_support()Funkce slouží k aktivaci funkcí tématu, jako jsou zkratky článků, vlastní logo a podpora HTML5 značek.

function my_theme_setup() {
    // 启用文章和页面特色图像
    add_theme_support('post-thumbnails');
    // 启用自定义Logo
    add_theme_support('custom-logo');
    // 为搜索表单、评论表单等启用HTML5支持
    add_theme_support('html5', array('search-form', 'comment-form', 'comment-list', 'gallery', 'caption'));
    // 添加主题的文本域以支持翻译
    load_theme_textdomain('my-custom-theme', get_template_directory() . '/languages');
}
add_action('after_setup_theme', 'my_theme_setup');

Struktura hierarchie šablon a volání dynamického obsahu

Porozumění struktuře šablon v WordPressu je klíčem k vytváření flexibilních temat. Určuje, který soubor šablony WordPress automaticky zvolí pro zobrazení stránek podle typu požadavku.

Poznejte pořadí načítání šablon.

Systém šablon WordPress je velmi logický. Například při návštěvě blogového článku systém postupně hledá potřebné informace v určitém pořadí:single-post-{slug}.php -> single-post-{id}.php -> single.php -> singular.php – A nakonecindex.phpTato hierarchická struktura vám umožňuje vytvářet vysoce přizpůsobené šablony pro konkrétní kategorie, konkrétní stránky nebo dokonce konkrétní články.

Doporučujeme k přečtení. Kompletní průvodce vývojem temát pro WordPress: Vytvořte vzhled svého webu od nuly

Vypsat obsah pomocí hlavního cyklu

V souboru šablony je nejdůležitější “hlavní cyklus” (The Loop). Jedná se o úsek kódu v PHP, který kontroluje, zda existují články, a pokud ano, cyklicky zobrazuje obsah každého článku.

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <article id="post-<?php the_ID(); ?>" no numeric noise key 1005>
        <header class="entry-header">
            <h2 class="entry-title"><p><strong> Řekněte mi něco o sobě.</strong></p></h2>
        </header>
        <div class="entry-content">
            <?php the_content(); ?>
        </div>
    </article>
<?php endwhile; else : ?>
    <p><?php esc_html_e( '抱歉,没有找到对应的内容。', 'my-custom-theme' ); ?></p>
<?php endif; ?>

Uvnitř cyklu můžete použít řadu šablonovacích funkcí, například…the_title()the_content()the_excerpt()the_post_thumbnail()Pro dynamické výstupní data článků…

Flexibilní využití podmínkových značek

Podmínkové značky (Conditional Tags) jsou skvělým nástrojem pro psaní logicky strukturovaných šablon. Umožňují vám spouštět různé kódy v závislosti na typu stránky, která se právě zobrazuje.

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 ( is_front_page() && is_home() ) : ?>
    // 默认首页(显示最新文章)
<?php elseif ( is_front_page() ) : ?>
    // 静态首页
<?php elseif ( is_home() ) : ?>
    // 文章索引页
<?php elseif ( is_single() ) : ?>
    // 单篇文章页
<?php elseif ( is_page() ) : ?>
    // 单页面
<?php elseif ( is_archive() ) : ?>
    // 任何归档页(分类、标签、作者等)
<?php endif; ?>

Správa stylů, skriptů a responsivního designu

Moderní tematika pro WordPress musí dodržovat osvědčené postupy vývoje front-end stránek, včetně modulárního správování stylových skriptů a responzivního designu, který se přizpůsobuje různým zařízením.

Bezpečné registrace a řazení skriptů pro styly

Nikdy nesmíte v souborech šablon přímo vytvářet hardlinky na soubory CSS nebo JavaScript. Správný způsob je použít…wp_enqueue_style()wp_enqueue_script()Funkce…functions.phpProstřednictvím Čínywp_enqueue_scriptsHooky slouží k registraci a zařazování do fronty.

function my_theme_scripts() {
    // 注册并排队主样式表
    wp_enqueue_style( 'my-theme-style', get_stylesheet_uri(), array(), wp_get_theme()->get('Version') );
    // 注册并排队主JavaScript文件
    wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/main.js', array('jquery'), wp_get_theme()->get('Version'), true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

Tento postup zajišťuje správné nastavení závislostí, předchází duplicitnímu načítání a je kompatibilní s pluginy a dalšími tematikami. Parametry v…trueUvedeno, že umístění skriptů do podkladové části stránky („footer“) pomáhá zlepšit rychlost načítání stránky.

Doporučujeme k přečtení. Průvodce vývojem tem pro WordPress: Od nuly k vytvoření vlastního vzhledu webových stránek

Implementovat responsivní design s důrazem na mobilní zařízení

Při psaní kódu CSS se doporučuje používat strategii “mobile first”. Nejprve navrhněte základní styly pro zařízení s malými obrazovkami (telefony) a poté pomocí mediálních dotazů (Media Queries) postupně přidávejte nebo přepisujte styly pro zařízení s většími obrazovkami.

/* 基础样式(适用于手机) */
.container {
    width: 100%;
    padding: 1rem;
    box-sizing: border-box;
}
.sidebar {
    display: block;
    margin-top: 2rem;
}
/* 平板设备及以上 */
@media (min-width: 768px) {
    .container {
        width: 750px;
        margin: 0 auto;
        display: flex;
    }
    .main-content {
        flex: 3;
    }
    .sidebar {
        flex: 1;
        margin-top: 0;
        margin-left: 2rem;
    }
}

Zároveň je třeba zajistit, aby obrázky byly responzivní, a to pomocí nastavení v CSS.max-width: 100%; height: auto;Nebo použijte funkce, které jsou součástí WordPressu.srcsetAtributy.

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.

Použití navigačního menu v WordPressu

WordPress poskytuje výkonný systém pro správu menu. Nejprve…functions.phpPoužijte to v čínštině.register_nav_menus()Umístění pro registraci funkcí v nabídce.

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

Poté v souboru šablony (např.header.php) voláno v části středníwp_nav_menu()Funkce pro zobrazení menu.

wp_nav_menu( array(
    'theme_location' => 'primary',
    'menu_class'     => 'primary-menu',
    'container'      => 'nav',
    'container_class'=> 'main-navigation',
) );

Pokročilé funkce a optimalizace výkonu

Vynikající téma by mělo nejen plnou funkčnost, ale také mělo vynikat svou rychlostí. To zahrnuje integraci vlastních funkcí a řadu technik optimalizace výkonu.

Vytvořit vlastní možnosti pro téma

Abychom uživatelům poskytli určitou kontrolu, aniž bychom museli měnit kód, můžeme integrovat WordPress Customizer nebo vytvořit jednoduchou stránku s nastaveními. Pomocí API Customizeru můžeme uživatelům poskytnout možnost přehledu konfigurací v reálném čase.

function my_theme_customize_register( $wp_customize ) {
    // 添加一个设置(Setting)
    $wp_customize->add_setting( 'header_background_color', array(
        'default'           => '#ffffff',
        'sanitize_callback' => 'sanitize_hex_color',
        'transport'         => 'postMessage', // 支持实时预览
    ) );
    // 添加一个控件(Control)
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'header_background_color', array(
        'label'    => __( '顶部背景颜色', 'my-custom-theme' ),
        'section'  => 'colors',
    ) ) );
}
add_action( 'customize_register', 'my_theme_customize_register' );

V šabloně použijte In the template, useget_theme_mod( 'header_background_color', '#ffffff' )Získat hodnoty nastavené uživatelem.

Klíčové strategie optimalizace výkonnosti.

Výkon je jádrem uživatelského zážitku. Nejprve se ujistěte, že všechny front-end zdroje (CSS, JS, obrázky) byly minimalizovány a komprimovány. Pro CSS a JS lze tento proces automatizovat pomocí náležitých nástrojů; u obrázků je optimizace nutná ještě před jejich nahráním.

Za druhé, je důležité rozumně využívat mezipaměť prohlížeče. To lze dosáhnout přidáním informací o mezipaměti do konfigurace serveru (např. souboru .htaccess) nebo pomocí doplňků pro správu mezipaměti.

Nejdůležitější je zajistit, aby dotazy do databáze probíhaly efektivně. Při vývoji obsahu by se mělo vyhnout provádění dalších dotazů do databáze uvnitř cyklů. Pro výsledky složitých dotazů, které se potřebují opakovaně používat, lze zvážit využití API Transients v WordPressu k dočasnému ukládání dat do mezipaměti.

Ujistěte se, že je téma dostupné pro všechny uživatele a že je internacionalizováno.

Dostupnost (Accessibility) znamená, že váš web může být používán všemi lidmi, včetně těch s postiženími. To zahrnuje použití správných semantických HTML značek (jako např.…)<header><nav><main><article>Zajistěte alternativní text pro obrázky, dostatečný kontrast barev a podporu navigace pomocí klávesnice.

Internacionalizace (i18n) umožňuje přeložit váš tematický balíček do dalších jazyků. Všechny textové stránky určené pro uživatele by měly být zabaleny pomocí funkcí pro překlad v WordPressu.

// 错误做法
echo “Read More”;
// 正确做法
echo esc_html__( ‘Read More’, ‘my-custom-theme’ );
// 或者带占位符
printf( esc_html__( ‘Posted on %s’, ‘my-custom-theme’ ), get_the_date() );

Použití__()Přeložte text a zobrazte výsledek: „Proveďte překlad a zobrazte výsledek.“_e()Přeložte přímo a vyexportujte. Poté použijte nástroj, jako je Poedit, k vytvoření výstupu..potPřeložte šablonový soubor.

Závěr

Od vytvoření prostředí, pochopení struktury šablon, přes správu stylových skriptů a implementaci responzivního designu, až po integraci pokročilých funkcí a hlubokou optimalizaci výkonu, je vývoj temát pro WordPress úplným a vzájemně propojeným procesem. Dodržování základních kódovacích standardů a osvědčených postupů WordPressu umožňuje vytvořit nejen funkčně vybavená a esteticky působivá témata, ale také zajistit jejich bezpečnost, udržovatelnost a vynikající výkon. Pamatujte, že skvělé téma začíná jasnou strukturou a sémantickým kódem a je dokončeno neúnavným důrazem na detaily a uživatelský zážitek.

Časté dotazy

K vývoji temat pro WordPress je potřeba ovládat následující základní technologie:

Musíte ovládat HTML, CSS a JavaScript – tuto základní sadu technologií pro vývoj webových stránek. Jsou to nástroje, které umožňují určovat vzhled a interakce stránek. Kromě toho je nezbytná znalost programovacího jazyka PHP, protože jádro a systém šablon WordPressu jsou vyvinuty pomocí PHP. Základní znalosti databáze MySQL vám pomohou porozumět ukládání a vyhledávání dat. Dále je klíčové být obeznámený s specifickými funkcemi, háčky (Actions a Filters) a strukturami šablon WordPressu, které jsou součástí jeho profesionálního vývoje.

Jak bezpečně zavést vlastní soubory CSS a JavaScript do tématu?

Musí být zavedeno pomocí mechanismu čekací fronty („enqueue“), který poskytuje WordPress. V tematu…functions.phpVe souboru se používá…wp_enqueue_style()Funkce pro přidání souboru CSS, použijte…wp_enqueue_script()Funkce slouží k přidání souborů s kódem JavaScript a k připojení těchto volání (tzv. „calls“) k odpovídajícím místům v kódu.wp_enqueue_scriptsTato metoda umožňuje správné zpracování závislostí mezi jednotlivými funkcemi, předchází konfliktům a je v souladu se bezpečnostními normami WordPressu.

Co je to podtéma (subtopic), proč a kdy by se mělo používat?

Podtémata jsou typy témat, které dědí všechny funkce a styly svého nadřízeného (mateřského) tématu a zároveň vám umožňují bezpečně provádět změny a přepisování jejich vlastností. Jsou identifikována pomocí samostatného…style.cssSoubor slouží k deklaraci svého nadřazeného tématu („parent theme“). Podtémata („subthemes“) byste měli používat tehdy, když potřebujete provést personalizované úpravy stávajícího tématu (nadřazeného tématu). Největší výhodou tohoto přístupu je, že při aktualizaci nadřazeného tématu vaše vlastní úpravy nezmizí, což umožňuje dosažení dokonalé rovnováhy mezi udržovatelností a přizpůsobivostí.

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

Potřebujete použít funkce pro internacionalizaci (i18n) k obalení všech textových řetězců, které se zobrazují v tématu. Hlavně používejte…__()_e()Tyto dvě funkce – a určete pro ně také svůj textový domén (Text Domain). Poté použijte software jako Poedit k prohledání kódu vaší tematiky, aby byl generován požadovaný výstup..potPřeložte šablonový soubor. Překladatelé mohou na základě této šablony vytvořit verze dokumentu v různých jazycích..poA po kompilaci.moSoubor by měl být umístěn do tématu./languages/Nastavení bude platné ihned po umístění do adresáře.