Vývoj a personalizace WordPress tem: Praktický průvodce od základů až po pokročilé znalosti

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

Základy vývoje temat pro WordPress

Než začnete s jakýmkoli vlastním úpravami, je zásadní pochopit základní strukturu témat WordPressu. Témato je v podstatě souborová kolekce, která říká WordPressu, jak vaše webové stránky zobrazit na straně uživatele. Tyto soubory zahrnují šablony, styly (CSS soubory), JavaScript soubory, volitelné funkční soubory a obrázkové zdroje.

Nejzásadnějším souborem je…style.cssTento soubor neobsahuje pouze pravidla stylizace tématu, ale také poznámky v hlavičce souboru (header comments), které obsahují metadata o tomto tématu – jako je název tématu, autor, popis a verze. To je jediný způsob, jakým WordPress rozpozná, zda je daná složka platným tematem. Dalším základním souborem je…index.phpJako výchozí šablona se používá v případě, že není nalezena žádná konkrétnější šablona, která by odpovídala požadavkům. WordPress ji poté využije k renderování stránky.

Vývoj témat sleduje jasnou hierarchii šablon. WordPress automaticky hledá a načítá nejvhodnější šablonový soubor na základě typu stránky, po které je požadavek uskutečněn (např. úvodní stránka, stránka článku, kategorie, archiv článků atd.). Například při prohlížení konkrétního článku WordPress nejprve hledásingle-post.phpPokud neexistuje, pak se vrátí ke předchozímu stavu.single.phpA nakonec je…index.phpPorozumění této hierarchii je základem pro efektivní vývoj a pokrytí témat.

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

Hlavní šablonové soubory a funkce

Kompletní funkční téma se skládá z řady specifických šablonových souborů. Kromě základních…index.phpstyle.cssMezi běžné základní šablony patří ty, které slouží k zobrazení seznamů článků.home.phpfront-page.phpSlouží k zobrazení jednotlivých článků.single.phpSlouží k zobrazení samostatných stránek.page.phpA také pro zobrazení tříd, tagů a dalších archivačních stránek.archive.phpKromě toho,header.phpfooter.phpsidebar.phpNěkteré šablony vám umožňují modularizovat strukturu stránek, a to pomocí…get_header()get_footer()get_sidebar()Funkce se zavádějí tam, kde jsou potřeba.

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.

Funkce tématického souboru a její účel

functions.phpSoubor představuje “mozek” a funkční centrum tématu. Není to šablonový soubor, ale PHP soubor, který se automaticky načte při inicializaci tématu. Zde můžete přidávat vlastní funkce, registrovat menu a boční panely, podporovat vložení speciálních obrázků do tématu, řídit pořadí načítání stylů a skriptových souborů, a také využívat různé WordPress hooky k úpravě základního chování systému. Následující kód ukazuje, jak to provést:functions.phpPřidejte podporu menu a funkci čekání ve frontě k tématu a zavádějte hlavní stylový soubor.

<?php
// 为主题添加导航菜单支持
function mytheme_setup() {
    register_nav_menus( array(
        'primary' => __( '主导航菜单', 'mytheme' ),
        'footer'  => __( '页脚菜单', 'mytheme' ),
    ) );
    // 添加文章特色图像支持
    add_theme_support( 'post-thumbnails' );
}
add_action( 'after_setup_theme', 'mytheme_setup' );

// 排队引入样式表
function mytheme_scripts() {
    wp_enqueue_style( 'mytheme-style', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'mytheme_scripts' );
?>

Porozumění mechanismu cyklů

“The Loop” je nejzákladnějším konceptem při vývoji temát pro WordPress. Jedná se o strukturu PHP kódu, která slouží k ověření, zda existují články, které je třeba zobrazit. Pokud takové články jsou, tato struktura prochází jednotlivé články a pomocí určených šablonovacích značek (např.…)the_title()the_content()Téměř všechny šablony jsou postaveny kolem cyklů. Typická struktura cyklu vypadá následovně:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <article>
        <h2><p><strong> Řekněte mi něco o sobě.</strong></p></h2>
        <div><?php the_content(); ?></div>
    </article>
<?php endwhile; else : ?>
    <p><?php _e( '抱歉,没有找到任何文章。', 'mytheme' ); ?></p>
<?php endif; ?>

Pokročilé vlastní nastavení a vývoj podtemat

Když potřebujete provést hluboké změny v existujícím tématu, přímá úprava souborů tohoto tématu je nebezpečná a neudržitelná, protože aktualizace tématu přepsají všechny vaše změny. V takových případech je “podtémata” (subtopics) nejlepší možností. Podtémata dědí všechny funkce mateřského tématu a umožňují vám bezpečně přepsat jeho styly, šablonové soubory a dokonce funkce, aniž by to ovlivnilo aktualizace mateřského tématu.

Způsob vytvoření podtématu

Vytvoření podtématu je velmi jednoduché. Nejprve vwp-content/themes/V adresáři vytvořte nový složku, například…mytheme-childPoté v této složce vytvořte jeden nový soubor.style.cssSoubor musí mít v svém záhlaví specifické poznámky, které deklarují jeho nadřazené téma. Nakonec vytvořte…functions.phpSoubor slouží k načtení stylových šablon podtématek a nadtématek do pořadí.

Doporučujeme k přečtení. Ultimátní průvodce vývojem WordPress temat: Od principů až po praktické aplikace

podtématickýstyle.cssPříklad hlavičky souboru:

/*
Theme Name:   MyTheme Child
Theme URI:    http://example.com/mytheme-child/
Description:  MyTheme 子主题
Author:       Your Name
Author URI:   http://example.com
Template:     mytheme  // 这行是关键,必须与父主题的文件夹名完全一致
Version:      1.0.0
Text Domain:  mytheme-child
*/

V podtématechfunctions.phpV tomto textu je potřeba, abyste prostřednictvím určitých kroků nebo metod dosáhli požadovaného výsledku. Konkrétní pokyny nebo postupy však nejsou uvedeny.wp_enqueue_scriptsKlíčové prvky („hooks“) jsou potřebné k správnému načtení stylů. Všimněte si, že to platí zejména pro podtémata („subtopics“).functions.phpNezastíní nadřazené téma, ale bude načteno spolu s ním (nadřazené téma bude načteno nejprve).

Použití akčních hooků a filtrů.

Systém hooků v WordPressu je skvělým nástrojem pro pokročilou, nenarušovací personalizaci. Rozděluje se na dvě typy: akční hooky (Action Hooks) a filtrovací hooky (Filter Hooks). Akční hooky vám umožňují vložit vlastní kód v určitých okamžicích běhu aplikace – např. po zveřejnění článku nebo před načtením podstránkového obsahu. Filtrovací hooky naopak umožňují upravovat data, která jsou během provádění aplikace generována – jako je obsah článku, jeho nadpis nebo abstrakt.

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.

Například můžete použít…the_contentFiltr automaticky přidává na konci všech článků údaje o autorských právech:

function mytheme_add_copyright( $content ) {
    if ( is_single() ) {
        $content .= '<p class="copyright">© 2026 Všechna práva vyhrazena.</p>';
    }
    return $content;
}
add_filter( 'the_content', 'mytheme_add_copyright' );

Optimalizace výkonnosti aplikací a jejich publikování

Po dokončení vývoje je zajištění výkonnosti a připravenosti tématu k publikování posledním klíčovým krokem. Dobře optimalizované téma může významně zvýšit rychlost načítání webové stránky, zlepšit uživatelský zážitek a pozice webové stránky v vyhledávačích.

Optimalizace načítání skriptů a stylů

Správné použitíwp_enqueue_script()wp_enqueue_style()Funkce jsou základem. Měli byste nastavit správné závislosti pro skripty a styly a na stránce pod hlavičkou načíst nezbytné, ale nekritické JavaScript soubory (a to pomocí vhodných metod).wp_enqueue_script()Poslední parametr nastavte na…trueKromě toho zvažte sloučení a minimalizaci šablon (style sheets) a skriptů (scripts), a využívejte také vyčištění (minification) těchto souborů, stejně jako funkce pro ukládání dat do mezipaměti prohlížeče (browser caching).

Doporučujeme k přečtení. Podrobný rozbor vývoje temat pro WordPress: Od začátků až po pokročilé znalosti

Implementovat responsivní design a internacionalizaci

V roce 2026 je responsivní design již nezbytnou vlastností každého tématu. To znamená, že váš CSS musí využívat mediální dotazy (Media Queries), abyste zajistili, aby webové stránky dobře vypadaly na všech zařízeních – od mobilních telefonů po počítače. Kromě toho je pro globální použití tématu velmi důležitá internacionalizace (i18n). Ve všech textových zprávách určených pro uživatele by měly být použity funkce pro překlady zajištěné WordPressem.()_e()esc_html()a také protextdomainProveďte správné nastavení, abyste mohli používat nástroje jako Poedit k vytváření překladatelských souborů (.po/.mo).

Příprava publikování tématu

Než téma odevzdáte do oficiálního adresáře WordPressu nebo ho začnete prodávat, je nutné provést důkladnou kontrolu. To zahrnuje: ujištění se, že kód splňuje standardy kódování WordPressu; odstranění veškerého ladícího kódu a zbytečných poznámek;style.cssPoskytuje podrobné vysvětlení a popisy; vytváří přehledné a jasné informace.readme.txtSoubory: Poskytněte snímky obrazovky témat ve vysoké kvalitě (screenshot.png) pro různé velikosti obrazovek a důkladně otestujte kompatibilitu tohoto tématu s nejnovější verzí WordPressu a běžně používanými doplňky.

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.

Závěr

Vývoj tem pro WordPress začíná pochopením základní struktury souborů a hierarchie šablon a postupně se rozvíjí k ovládnutí cyklů, funkcí typu „hook“ a vytváření podtem (subthemes). Dodržováním osvědčených postupů – jako je využívání podtem k personalizaci, využití systému hooků k rozšíření funkcí, dále jakož i důrazu na optimalizaci výkonu a internacionalizaci – mohou vývojáři vytvořit temy, které jsou jak výkonné, tak i flexibilní. Ať už si vytváříte jedinečné webové stránky pro sebe, nebo temy určené k širšímu použití, tento cestovní plán od začátků až po dosažení mistrovství vám poskytuje všechny nástroje a metody potřebné k proměně vašich nápadů ve skutečnost.

Časté dotazy

Je při úpravě tématu nutné mít také podtémata?

I když to není povinné, doporučujeme výrazně používat podtémata. Hlavní riziko při přímé úpravě mateřského tématu (zejména témat zakoupených od třetích stran nebo nainstalovaných z repozitáře WordPress) spočívá v tom, že při vydání aktualizace mateřského tématu budou všechny vaše osobní úpravy přepsány. Použití podtémat tomuto problému zcela zabrání a zajistí, že vaše úpravy zůstanou bezpečně zachovány.

Jak ladit chyby, které se vyskytují v mém vlastním tématu?

Nejprve se ujistěte, že ve vašem…wp-config.phpV souboru je aktivován režim ladění WordPressu.WP_DEBUGKonstanta je nastavena natrueTo umožní zobrazit všechny chyby, varování a upozornění v PHP na obrazovce. Zároveň je také důležitým způsobem lokalizace problémů prohlížení serverových chybových logů (např. logu error.log u Apache). Pro složitější logické problémy se doporučuje použít jednoduché nástroje nebo postupy.error_log()Vypisování hodnot proměnných funkcí do ladícího logu je efektivní metodou pro řešení problémů.

Jaký je rozdíl mezi funkcemi souboru functions.php v rámci tématu a funkcemi pluginů?

functions.phpFunkce obsažené v tomto modulu jsou úzce vázány na aktuálně aktivní téma. Při změně tématu tyto funkce již nebudou dostupné. Naopak funkce poskytované doplňky (plugins) jsou nezávislé na tématu – jsou aktivní vždy, pokud jsou samy aktivní. Proto platí obecné pravidlo: Pokud je funkce určena výhradně pro vzhled a uspořádání webové stránky (tj. je silně spojena s vizuálním vzhledem tématu), může být umístěna do modulu určeného k úpravě vzhledu webové stránky.functions.phpPokud je funkce určena k poskytování nějaké obecné vlastnosti (např. kontaktní formulář, optimalizace pro vyhledávače – SEO), která by měla být dostupná bez ohledu na téma, měla by být implementována jako plugin.

Jak přimět můj téma, aby podporovalo editor bloků Gutenberg?

Aby se váš téma lépe přizpůsobilo editoru bloků Gutenberg, je potřeba přidat řadu funkcí podpory tohoto tématu.functions.phpPoužijte to v čínštině.add_theme_support()Funkce. Klíčová podpora zahrnuje:wp-block-styles(Naloží výchozí styly pro hlavní blok.)align-wide(Podporují možnosti širokého zarovnání a úplně širokého zarovnání) aeditor-styles(Zavádějte šablonu stylů témat do zadní části editoru.) Můžete také definovat palety barev a velikosti písma, které editor používá, pro články a stránky, aby byl zajištěn konzistentní zážitek při editování na obou stranách – v frontálním (uživatelském) i zadním (administrativním) prostředí.