Vytvořte profesionální webové stránky: kompletní návod k vytvoření vlastního WordPressového tématu od nuly.

Čtení za 3 minuty.
2026-03-15
2026-06-06
1,837
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 dnešní digitální éře je pro osobní značku nebo firmu zásadní mít webové stránky jedinečné a vysoce funkční. Na trhu sice existuje tisíce předpřipravených témat pro WordPress, ale vlastní témata nabízejí bezkonkurenční flexibilitu, optimalizaci výkonu a soulad s image značky. Tento článek vás provede postupem od základů až po vytvoření profesionálního, vlastního tématu pro WordPress, a to po celém procesu – od nastavení prostředí až po integraci pokročilých funkcí.

Základy vývoje temat pro WordPress

Než začnete psát kód, je prvním krokem k úspěchu pochopení základní struktury a klíčových konceptů tématu WordPress. Témato je v podstatě soubor sad souborů, které společně určují vzhled a funkce webové stránky.

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

Jedno z nejzákladnějších témat pro WordPress potřebuje alespoň dvě soubory:style.cssindex.php. Dokumenty style.css Nejenže poskytuje styly, ale také nadpisový blok v horní části obsahuje metadata tématu – jako je název tématu, autor, popis a verze. To je klíčové pro to, aby WordPress rozpoznal dané téma. Postupem vývoje vytvoříte více šablonových souborů, například pro zobrazení jednotlivých článků. single.phpSlouží k zobrazení stránky. page.phpa také pro archivní stránky archive.php

Doporučujeme k přečtení. Vývoj WordPress témat od začátku až po pokročilou úroveň: kompletní návod k vytvoření profesionálních webových stránek.

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

Vývoj na místním počítači je efektivní a bezpečnou osvědčenou praxí. Doporučujeme použít nástroje jako Local by Flywheel, XAMPP nebo MAMP k rychlému nastavení lokálního serverového prostředí obsahujícího Apache, MySQL a PHP. Poté nainstalujte novou verzi WordPress a používejte ji jako svůj vývojový „sandbox“ (prostředí určené k testování kódu). Tím můžete volně testovat své změny v kódu, aniž by to ovlivnilo vaše webové stránky v reálném prostředí.

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.

Aktivovat režim ladění

Během vývoje je velmi důležité zobrazovat chyby a varovné zprávy. Potřebujete to na webových stránkách… wp-config.php V souboru povolte režim ladění. Najděte a změňte následující řádek:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // 将错误记录到 /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // 不建议在页面上直接显示给访客

To vám pomůže rychle lokalizovat a opravit problémy v kódu.

Základní struktura pro vytvoření tématu

Teď se pustíme do vytvoření prvního tématu. V adresáři vaší instalace WordPressu… wp-content/themes V té složce vytvořte novou složku, například… my-custom-themeVšechny soubory týkající se konkrétních témat budou umístěny zde.

Napsat hlavičku s poznámkami pro šablonu stylů

Nejprve vytvořte… style.css Soubor a na začátek souboru přidejte následující poznámky:

Doporučujeme k přečtení. Od nuly k jedné: technická příručka a osvědčené postupy pro celý proces tvorby webových stránek.

/*
Theme Name: My Custom Theme
Theme URI: https://example.com/my-custom-theme
Author: Your Name
Author URI: https://example.com
Description: 一个从零开始构建的专业自定义主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-custom-theme
*/

Tyto informace se zobrazí na stránce “Vzhled” -> “Témata” v administraci WordPressu. “Text Domain” slouží k internacionalizaci a je nutný pro další překlady témat.

Vytvoření základní šablony indexu

Následně vytvořte hlavní šablonový soubor pro dané téma. index.phpToto se stává, když WordPress nenachází jiné, konkrétnější šablony (např. single.phpVýchozí soubor pro zpáteční případ při určité činnosti. Nejjednodušší verze tohoto souboru může vypadat takto:

<!DOCTYPE html>
<html no numeric noise key 1011>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?php wp_head(); ?>
</head>
<body no numeric noise key 1008>
    <?php wp_body_open(); ?>
    <header>
        <h1><a href="/cs/</?php echo esc_url( home_url( '/' ) ); ?>"><p><strong> Název blogu: </strong><br><br><img src='images/logo.png'> <br><br><strong> Kategorie: </strong><br><br><strong></a></h1>
        <p><?php bloginfo( 'description' ); ?></p>
    </header>
    <main>
        &lt;?php
        if ( have_posts() ) :
            while ( have_posts() ) : the_post();
                // 文章内容输出
                the_title( &#039;<h2>', '</h2>' );
                the_content();
            endwhile;
        else :
            echo '<p>暂无内容。</p>';
        endif;
        ?&gt;
    </main>
    <footer>
        <p>©</p>
    </footer>
    <?php wp_footer(); ?>
</body>
</html>

Tento soubor zavádí základní funkce WordPressu, jako např. wp_head()the_title()the_content()Tvoří základní strukturu webové stránky.

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.

Implementace modulární struktury a funkcionalit tématu

Udržovatelné téma vyžaduje dobrou organizační strukturu. K modularizaci kódu budeme využívat vytváření šablonových komponent a zavádění funkčních souborů.

Oddělit záhlaví a patro stránky

Převeďte text „Převeďte kód záhlaví a patra z“ do češtiny: „Převeďte kód záhlaví a patra z…“ index.php Oddělení jednotlivých částí je standardní postup. Vytvoření… header.php Soubor obsahuje informace z… <!DOCTYPE html><main> Veškerý kód před začátkem značky. Vytvořit. footer.php Soubor, který obsahuje… <footer> A všechny kódy následující. Poté… index.php Použijte to v čínštině. get_header()get_footer() Funkce je zavádějí pomocí určitých procedur nebo konstrukcí.

<?php get_header(); ?>
<main>
    ... // 主循环内容
</main>
<?php get_footer(); ?>

Vytvořit šablonu pro boční panel

Vytvořit sidebar.php Soubory slouží k definování obsahu bočního panelu, a poté se tento obsah použije. get_sidebar() Funkce je volána v hlavním šablonovém souboru. Můžete ji také použít… register_sidebar() Funkce registruje v funkčním souboru oblast pro dynamické widgety, která umožňuje uživatelům personalizovat obsah prostřednictvím rozhraní “nástrojů” v pozadí.

Doporučujeme k přečtení. Průvodce celým procesem výstavby moderních webových stránek: Technické postupy a klíčové body od nuly až po jejich spuštění

Soubor funkčních dat pro integraci tematických funkcí

Dokumenty functions.php “Control Center” je součástí vašeho tématu a slouží k přidávání funkcí podpory tohoto tématu, registraci menu, stylů a skriptů. Vytvořte základní verzi tohoto „Control Center“. functions.php Soubor:

<?php
// 添加主题支持
function my_custom_theme_setup() {
    add_theme_support( 'title-tag' ); // 让 WordPress 管理标题标签
    add_theme_support( 'post-thumbnails' ); // 启用文章缩略图功能
    add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) ); // 启用 HTML5 标记支持
}
add_action( 'after_setup_theme', 'my_custom_theme_setup' );

// 注册导航菜单
function my_custom_theme_menus() {
    register_nav_menus( array(
        'primary-menu' => __( '主导航菜单', 'my-custom-theme' ),
        'footer-menu'  => __( '页脚菜单', 'my-custom-theme' ),
    ) );
}
add_action( 'init', 'my_custom_theme_menus' );

// 加载样式表和脚本
function my_custom_theme_scripts() {
    // 主样式表
    wp_enqueue_style( 'my-custom-theme-style', get_stylesheet_uri(), array(), '1.0.0' );
    // 主 JavaScript 文件
    wp_enqueue_script( 'my-custom-theme-script', get_template_directory_uri() . '/js/main.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_custom_theme_scripts' );
?>

Tento soubor používá „hooky“ (speciální mechanismy) k provádění určitých akcí. after_setup_themeinitwp_enqueue_scripts Přidejte funkci integrace.

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.

Přidání pokročilých funkcí a optimalizací

Po dokončení vývoje základních temat lze jejich profesionalitu a uživatelský zážitek zlepšit dodáním dalších šablon, zavedením funkce cyklického stránkování a zajištěním responzivního designu.

Vytvořit konkrétní šablonu stránky

Vytvořte speciální šablony pro různé typy obsahu. Například: single.php Pro přesnější kontrolu způsobu zobrazení jednotlivých článků je nutné vytvořit… page.php Použijte tyto pokyny k definování rozvrhu běžné stránky. Můžete dokonce vytvořit vlastní šablony stránek – stačí přidat následující poznámku na začátek souboru:

<?php
/*
Template Name: 全宽页面
*/
get_header();
?>
<!-- 你的全宽布局代码 -->
<?php get_footer(); ?>

Implementace cyklického stránkování článků

Na stránkách s archivy (např. domovské stránce, stránkách s kategoriemi) je nutné používat navigaci pomocí stránek. Po skončení hlavního cyklu přidejte následující kód, který poskytne odkazy na další stránky:

the_posts_pagination( array(
    'mid_size'  => 2,
    'prev_text' => __( '上一页', 'my-custom-theme' ),
    'next_text' => __( '下一页', 'my-custom-theme' ),
) );

Ujistěte se, že stránky jsou responsivní a přívětivé pro mobilní zařízení.

style.css Používejte media queries k přizpůsobení obsahu různým velikostem obrazovek. Zároveň se ujistěte, že… header.php Byla nastavena meta tagová značka „viewport“. <meta name="viewport" content="width=device-width, initial-scale=1">Zvažte použití strategie návrhu CSS s důrazem na mobilní zařízení (tzv. „mobile-first“ design).

Provádění optimalizací výkonu a bezpečnosti

Pro zpracování dynamických dat výstupu použijte funkce pro escape, které poskytuje WordPress. esc_html()esc_url()To je pro prevenci útoků typu Cross-Site Scripting (XSS). Pro styly a skripty se používá… wp_enqueue_style()wp_enqueue_script() Proveďte správnou registraci a zařaďte obsah do fronty čekání na zpracování. Zvažte také přidání verzního čísla nebo informací o integritě podřízených zdrojových souborů (SRI – Subresource Integrity), což pomůže při ukládání dat do mezipaměti a zvýší bezpečnost systému.

Závěr

Vytvoření vlastního WordPress tématu od nuly je systematický proces, který vyžaduje, aby vývojáři byli obeznámeni nejen s PHP, HTML, CSS a JavaScript, ale také s hlavní architekturou WordPress – jako jsou struktury šablon, hlavní cyklus provádění kódu a systém hooků. Pokud postupujete podle kroků uvedených v tomto článku (vytvoření prostředí, vytvoření základních souborů, modulární organizace kódu, přidávání pokročilých funkcí a optimalizace), budete schopni vytvořit profesionální téma, které plně odpovídá požadavkům projektu, je vysokým výkonem vybaveno a bezpečné. Ačkoli tento proces vyžaduje čas na učení, naprostá kontrola nad webovým stránkami, optimalizovaný výkon a jedinečný image značky, které poskytuje vlastní téma, jsou neporovnatelné s žádným hotovým tématem.

Časté dotazy

Je nutné být zdatným v PHP, abyste mohli vytvářet tematika pro WordPress?

Ano, PHP je základním programovacím jazykem WordPressu. Pro vytvoření dynamických a funkčně bohatých vlastních temát je nutné ovládat základy PHP, zejména pochopení funkcí specifických pro WordPress, hooků (Actions a Filters) a šablonovacích značek. Kromě toho jsou nezbytné znalosti HTML, CSS a základních prvků JavaScriptu.

Který je lepší – vlastní téma (Custom Theme) nebo dceřiné téma (Child Theme)?

Záleží to na vašich cílech a výchozích podmínkách. Pokud potřebujete návrh od začátku bez použití žádných stávajících stylů nebo funkcí temat, pak je vlastní temat ideální volbou. Pokud si přejete temat personalizovat na základě nějakého stabilního existujícího tematu (např. Twenty Twenty-Four), je bezpečnější a efektivnější vytvořit podtemat, protože to umožňuje zachovat kompatibilitu s aktualizacemi mateřského tematu.

Proč se mé vlastní téma nezobrazuje na pozadí?

Zkontrolujte následující body: 1. Zda je složka s tématem správně umístěna v wp-content/themes/ V adresáři; 2. style.css Je formát poznámky na začátku souboru správný a úplný? 3. Mají složky a soubory oprávnění k čtení pro WordPress? Nejčastějšími příčinami jsou… style.css Informace v hlavičce komentáře jsou chybné nebo chybějí.

Jak přidat podporu více jazyků ke svému tématu?

Potřebujete použít funkce pro internacionalizaci (i18n) k obalení všech textových řetězců, které jsou viditelné pro uživatele. V kódu použijte… __()_e() Funkce, a určete, že se to bude provádět v… style.css Textové pole definované v… Poté použijte nástroje, jako je Poedit, k vytvoření požadovaného obsahu. .pot Šablony souborů a vytvoření odpovídajících… .po.mo Přeložte ty soubory a umístěte je do příslušného tématu. /languages V složce. Nakonec, functions.php Použijte to v čínštině. load_theme_textdomain() Překlad textu „Funkce načítání“: „Function loading“.

Po dokončení vývoje tématu, jak jej zveřejnit v oficiálním katalogu WordPress.org?

Pro zveřejnění tematického balíčku v oficiálním katalogu je nutné splnit řadu přísných kódových standardů a požadavků. Je důležité pečlivě prostudovat a dodržovat příručku pro vývoj tematických balíčků WordPressu (WordPress Theme Development Manual) a standardy pro posuzování tematických balíčků (Theme Review Standards). Váš kód musí být stručný, bez chyb a obsahovat kompletní dokumentační poznámky. Obvykle je nutné tematický balíček odeslat do oficiálního SVN repozitáře a nechat ho posoudit týmem pro posuzování tematických balíčků. Jedná se o přísný proces, který však může významně zvýšit viditelnost a důvěryhodnost vašeho tematického balíčku.