Vývoj tem pro WordPress: Kompletní průvodce vytvářením vlastních tem od nuly

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

Proč je potřeba si přizpůsobit temu WordPressu?

WordPressV ekosystému existuje tisíce předpřipravených témat, avšak vývoj vlastních témat je pro projekty hledající jedinečnost, výkon a větší kontrolu nad jejich funkcemi zásadní volbou. Obecně používaná témata obsahují často mnoho zbytečných funkcí a stylů, aby uspokojila širokou škálu uživatelů. To však může zpomalit načítání webových stránek a přinést bezpečnostní rizika či zkomplikovat jejich pozdější údržbu. Přesně na míru vytvořené téma obsahuje pouze nezbytný kód, což zajišťuje efektivní chod webové stránky a rychlou odezvu na uživatelské požadavky.

Vlastní témata poskytují vývojářům plnou svobodu při návrhu a umožňují přesně přenést image značky do online prostředí, vytvářejí tak jedinečné vizuální efekty a interakční procesy pro uživatele. Ještě důležitější je, že máte plnou kontrolu nad kódovou základnou, což znamená, že můžete snadno rozšiřovat funkce, integrovat třetí stranické služby nebo optimalizovat strukturu pro vyhledávače (SEO), aniž byste byli omezeni cykly aktualizací nebo kompatibilitou vývojářů třetích stran. Z dlouhodobého hlediska je to klíčový krok k vytvoření pevné technické základny pro komerční webové stránky nebo profesionální výstavní platformy, které potřebují neustálý vývoj.

Basická struktura souborů pro vytvoření tématu.

„Efektivní“WordPressTémata jsou v podstatě něco, co se nachází…/wp-content/themes/V adresáři se nacházejí složky, které obsahují řadu konkrétních souborů.WordPressPochopení způsobu renderování vašeho webu začíná čtením těchto souborů. Porozumění této základní struktuře je výchozím bodem pro vývoj.

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

Identita tématu a soubor se styly

Každé téma musí obsahovat položku s názvem…style.cssSoubor… V bloku komentářů na začátku tohoto souboru nejde o běžné CSS komentáře, ale o něco jiného…WordPress“Identita informací” pro registraci témat v systému. Níže je ukázka standardního příkladu hlavičky komentáře:

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
Theme URI: https://www.example.com/theme
Author: Your Name
Author URI: https://www.example.com
Description: A bespoke WordPress theme built for performance and design.
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-custom-theme
Tags: custom-background, custom-logo, flexible-header
*/

Kromě poskytování metadat je tento soubor samozřejmě také místem, kde je napsán veškerý kód pro styly daného tématu. I když plánujete používat předprocesory jako Sass nebo Less, základní soubor se stly vygenerovaný jejich kompilací se obvykle nazývá…style.css

Klíčový soubor šablony indexu

index.phpJedná se o výchozí hlavní šablonový soubor daného tématu a zároveň je to jediný šablonový soubor, který musí být nutně přítomen.WordPressPokud není nalezen konkrétnější šablona, použije se tato šablona k renderování stránky. Jednoduchá…index.phpStruktura souboru je následující a obvykle se používá k volání dalších šablonových komponent, aby byl kód modularizován:

<?php get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main">
        <?php
        if ( have_posts() ) :
            while ( have_posts() ) : the_post();
                get_template_part( 'template-parts/content', get_post_type() );
            endwhile;
            the_posts_navigation();
        else :
            get_template_part( 'template-parts/content', 'none' );
        endif;
        ?>
    </main>
</div>

Rozšíření úrovní a funkcí šablon

Pro vytvoření funkčně kompletní a strukturálně jasné tematiky je potřeba využít…WordPressSilný systém hierarchie šablon. Tento systém určuje…WordPressJaký šablonový soubor zvolit pro zobrazení různých typů požadavků?

Speciální šablony pro články a stránky

single.phpŠablony určují způsob zobrazení jednotlivých blogových článků.page.phpTím se řídí zobrazení samostatných stránek (jako je “O nás” nebo “Kontaktujte nás”). Můžete přepsat všeobecné šablony tím, že vytvoříte konkrétnější soubory.single-post.phpBude speciálně určeno k zobrazování článků typu “post”.page-about.phpBude to automaticky aplikováno na stránky s ID nebo přezdívkou “about”. V těchto šablonách můžete používat…the_title()the_content()the_post_thumbnail()Používají se šablony a značky k výstupu obsahu.

Doporučujeme k přečtení. Jak vyvinout vlastní WordPress téma od nuly.

Centrální soubor funkcí tématu

functions.phpSoubory představují “centrum řízení” témat a slouží k rozšíření funkcí daného tématu bez nutnosti měnit jeho základní soubory. Zde můžete přidávat funkce podporující dané téma, registrovat navigační menu, definovat oblasti pro příslušenství („widgety“), či řídit pořadí načítání skriptů a šablon. Následující kód například aktivuje několik běžných funkcí témat:

<?php
function mytheme_theme_support() {
    // 让主题支持自定义Logo
    add_theme_support( 'custom-logo' );
    // 启用文章特色图像
    add_theme_support( 'post-thumbnails' );
    // 为文章和评论提供HTML5标记支持
    add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'style', 'script' ) );
    // 添加标题标签支持
    add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'mytheme_theme_support' );

// 注册一个导航菜单位置
function mytheme_register_menus() {
    register_nav_menus(
        array(
            'primary-menu' => __( 'Primary Menu', 'my-custom-theme' ),
            'footer-menu'  => __( 'Footer Menu', 'my-custom-theme' ),
        )
    );
}
add_action( 'init', 'mytheme_register_menus' );
?>

Implementace responzivního designu a optimalizace výkonnosti.

Moderní webové stránky musí poskytovat dobrý zážitek při prohlížení na všech zařízeních a zároveň musí mít velmi rychlé načítání. Tyto dvě vlastnosti jsou klíčovými ukazateli kvality webového tématu (tematického designu).

Použít strategii CSS s důrazem na mobilní zařízení (mobile-first CSS strategy).

Při psaní…style.cssPři vývoji webových stránek by měl být uplatněn princip “mobile first” (přednost mobilním zařízením). Nejprve by měly být definovány základní styly pro malá zařízení s malými obrazovkami (např. mobilní telefony), poté pomocí mediálních dotazů (Media Queries) mohou být přidány nebo nahrazeny styly pro stále větší obrazovky (tablety, počítače). Tím je zajištěno, že webové stránky budou efektivně načítat své základní styly i na zařízeních s omezenými prostředky.

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.
/* 基础样式(移动设备) */
.container {
    width: 100%;
    padding: 1rem;
}

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

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

Správné načtení skriptů a stylů

Důležitou součástí optimalizace výkonu je správné načítání souborů JavaScript a CSS. V žádném případě by se nemělo přímo používat jejich obsah v šablonových souborech.<link><script>Tagy. Naopak, měly by být vždy používány…functions.phpPoužijte to v čínštině.wp_enqueue_script()wp_enqueue_style()Funkce. To umožňuje…WordPressSpravujte závislosti a provádějte kontrolu verzí; ujistěte se, že zdroje jsou načítány pouze v případě potřeby, aby se předešlo konfliktům a duplicitnímu načítání.

function mytheme_enqueue_assets() {
    // 使用 get_stylesheet_uri() 获取主题的 style.css
    wp_enqueue_style( 'mytheme-style', get_stylesheet_uri(), array(), wp_get_theme()->get('Version') );

// 引入一个自定义JS文件,并依赖jQuery,放在页脚
    wp_enqueue_script( 'mytheme-navigation', get_template_directory_uri() . '/js/navigation.js', array('jquery'), '1.0.0', true );

// 为脚本局部化数据(如果需要传递PHP变量到JS)
    wp_localize_script( 'mytheme-navigation', 'mythemeScreenReaderText', array(
        'expand'   => __( 'Expand child menu', 'my-custom-theme' ),
        'collapse' => __( 'Collapse child menu', 'my-custom-theme' ),
    ) );
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_assets' );

Závěr

Vytvořit vlastní nástroj od nuly znamená postupovat následovně:WordPressTéma je systémovým projektem, který vyžaduje, aby vývojáři pochopili nejzákladnější principy…style.cssindex.phpSoubor začíná a postupně vytváří kompletní systém hierarchie šablon, který zahrnuje…header.phpfooter.phpsingle.phpAtd. Základní (core)functions.phpSoubory slouží jako klíčové prvky pro rozšíření funkcionalit. Klíčem k úspěchu je dodržování určitých pravidel a postupů.WordPressKódovací standardy a osvědčené postupy zahrnují použití modulárních šablonových komponent, využití akcí a filtrů pro flexibilní rozšíření funkcionalit, implementaci responzivního designu s důrazem na mobilní zařízení, a také optimalizaci načítání zdrojových souborů pomocí správného řazení požadavků. Témata vytvořená pomocí těchto postupů nejenže dokonale odpovídají požadavkům projektu, ale také zajišťují vysoký výkon, bezpečnost a udržovatelnost webové stránky, čímž poskytují solidní technickou podporu pro její další vývoj.

Časté dotazy

Co je potřeba připravit před vývojem tématu pro WordPress?

Potřebujete vytvořit lokální vývojové prostředí a doporučujeme nástroje jako XAMPP, MAMP, Local by Flywheel nebo DevKinsta – ty umožňují rychle nastavit na vašem počítači servere PHP, MySQL a Apache/Nginx. Zároveň se ujistěte, že máte nainstalované nejnovější verze těchto nástrojů.WordPressKlíčové soubory. Kódovací editory, jako jsou VS Code nebo PhpStorm, stejně jako nástroj Git určený k správě verzí, jsou také nezbytné nástroje.

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

Jak vytvořit vlastní šablonu stránky pro můj téma?

Můžete vytvořit cokoli, co začíná slovy „You can create any…“.page-PHP soubor začínající např. takto:page-fullwidth.phpMůžete použít existující šablony jako vzor pro konkrétní stránky, nebo vytvořit vlastní, univerzální šablony. Pro vytvoření univerzální šablony je nutné na začátek PHP souboru přidat speciální poznámku s názvem šablony. Například, abyste vytvořili šablonu s názvem…template-custom.phpSoubor, do kterého se zapisuje na začátek…/* Template Name: 全宽布局 */Po uložení…WordPressPři editaci stránky v pozadí můžete v rozbalovacím menu “Šablona” pod “Vlastnosti stránky” vybrat možnost “Celoplošná úprava”.

Co je to “cyklus” v WordPressu a jak funguje?

“The Loop” je…WordPressZákladní struktura PHP kódu používaná k načítání článků z databáze a jejich zobrazení na stránce. Obvykle začíná…if ( have_posts() ) : while ( have_posts() ) : the_post();Začněme. Uvnitř cyklu…WordPressBude nastaveno globálně.$postProměnné vám umožňují používat různé datové typy a hodnoty během programování.the_title()the_content()Použijte šablonové značky k výstupu informací o aktuálním článku. Cyklus prochází všemi články, které je třeba zobrazit, a to dokud nezůstane žádný další článek. Poté…endwhile; endif;Konec.

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.

Jak zajistit, aby můj tematický design splňoval oficiální požadavky WordPressu a mohl být přihlášen do repozitáře tematických modulů?

Aby téma splňovalo oficiální požadavky a mohlo být zařazeno…WordPress.orgKatalog témat: Musíte striktně dodržovat pravidla stanovená týmem pro kontrolu témat. To zahrnuje: používání bezpečných praktik kódování (jako je escapeování výstupu, ověřování a čištění vstupních dat), plnou podporu jazyků psaných zprava doleva (RTL), zajištění přístupnosti (v souladu s pokyny WCAG), nepoužívání zastaralých funkcí a poskytování kompletní podpory překladů.load_theme_textdomain()…) a také zajistit, aby všechen kód dodržoval určená pravidla a standardy.WordPressKódovací standardy: Před odesláním doporučujeme výrazně použít plugin Theme Check k předběžné kontrole kódu.