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

Čtení za 3 minuty.
2026-03-18
2026-06-04
1,987
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 témat WordPress a nastavení prostředí

Chcete-li začít s vývojem temat pro WordPress, je nejprve nutné pochopit jejich základní strukturu a vytvořit vhodné lokální vývojové prostředí. Standardní téma pro WordPress je složka, která obsahuje soubory šablon, stylové soubory (CSS), skripty a obrázky, a nachází se v…/wp-content/themes/V katalogu.

Klíčový soubor je…style.cssindex.phpstyle.cssSoubor nejen definuje vzhled tématu, ale také blok poznámek na jeho vrcholu slouží k uvedení metadat tématu, jako je název tématu, autor, popis a verze.index.phpJedná se o hlavní šablonový soubor, který se používá, pokud není k dispozici žádná konkrétnější šablona. WordPress v takovém případě použije tento hlavní šablonový soubor jako náhradu. Nejjednodušší téma může tvořit pouze tyto dva soubory.

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

Pro efektivní vývoj se doporučuje používat lokální serverové prostředí, jako je Local by Flywheel, XAMPP nebo MAMP. Tyto nástroje umožňují na vašem počítači simulovat prostředí webového serveru a nainstalovat PHP, databázi MySQL a WordPress. Výhodou lokálního vývoje je rychlost – nemusíte čekat na nahrávání souborů – a také možnost bezpečného testování kódu, aniž by to ovlivnilo webové stránky v reálném prostředí.

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

Vývojové nástroje jsou stejně důležité. Dobrý editor kódu (např. VS Code, PhpStorm) poskytuje výrazové zvýraznění, podporu při psaní kódu a integraci s nástroji pro správu verzí. Zároveň je nezbytné nainstalovat do prohlížeče vývojářské nástroje, které umožňují ladění kódu v jazycích HTML, CSS a JavaScript v reálném čase.

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.

Kerní šablonové soubory a struktura témat

Plnohodnotný moderní WordPress téma obsahuje sadu šablon s konkrétními názvy, které společně tvoří “kostru” tohoto tématu. WordPress automaticky vybere odpovídající šablonu podle typu aktuálně navštěvované stránky a na základě této šablony zobrazí obsah. Tento proces se nazývá „hierarchie šablon“. Porozumění této hierarchii je klíčové pro vývoj nových WordPress témat.

Nejzákladnější šablony zahrnují:
- header.phpVytvořte záhlaví webové stránky, které obsahuje:Část a záhlaví stránky.
- footer.phpVytvořte část stránky známou jako „podpis“ (footer) pro webovou stránku.
- sidebar.phpDefinice oblasti bočního panelu.
- index.phpVýchozí a finální náhradní šablony.
- single.php„:“ se používá k zobrazení jednotlivých blogových článků.
- page.php„:“ se používá k zobrazení jednotlivých stránek.
- archive.php:Používá se k zobrazení kategorií, tagů, autorů, dat a dalších informací na stránkách archivů.
- search.php„:“ se používá k zobrazení výsledků vyhledávání.
- 404.php:Používá se k zobrazení stránky “Nenašeno”.
- functions.phpToto není šablonový soubor, ale “sbírka funkcí” určená k přidávání nových funkcí, registraci nabídek (mení), bočních panelů a dalších prvků obsahu.

Organizace a volání šablonových souborů

Tyto šablony jsou spojeny pomocí šablonovacích značek WordPressu. Například,index.phpV tomto kontextu byste obvykle použili…get_header()„Funkce se zavádí do hlavičky pomocí…“get_footer()Zavedení podstránky (footer) pomocí…get_sidebar()Zavedeme boční panel. Hlavní cyklus (The Loop) bude umístěn mezi nimi a bude sloužit k výstupu obsahu článku.

Níže je uveden velmi jednoduchý…index.phpPříklad:

Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress temat: Vytvoření vlastní webové stránky od nuly

<?php get_header(); ?>

<main id="main-content">
    
            <article>
                <h2><p><strong> Řekněte mi něco o sobě.</strong></p></h2>
                <div><?php the_content(); ?></div>
            </article>
        
        <p>Zatím nejsou žádné články k dispozici.</p>
    <?php endif; ?>
</main>

Integrace tematických funkcí s WordPress API

functions.phpSoubor představuje “mozek” tématu – umožňuje vám rozšířit funkce tohoto tématu bez nutnosti měnit samotné základní soubory. Pomocí tohoto souboru můžete přidat podporu pro různé funkce, registrovat navigační menu, oblasti s nástroji, stejně jako načítat styly a skripty.

Přidání podpory funkce tematického řazení

Použitíadd_theme_support()Funkce mohou deklarovat různé funkce, které dané téma podporuje. Například povolení zobrazení přehledů článků (speciálních obrázků) je standardní vlastností moderních témat.

function mytheme_setup() {
    // 添加文章和评论的Feed链接支持
    add_theme_support( 'automatic-feed-links' );
    // 启用文章缩略图功能
    add_theme_support( 'post-thumbnails' );
    // 启用自定义Logo功能
    add_theme_support( 'custom-logo' );
    // 启用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_setup' );

Registrovací menu a stylové skripty

Registrování navigačního menu umožňuje uživatelům spravovat navigaci v části “Vzhled” -> “Menu” v administraci WordPressu.register_nav_menus()Funkce slouží k definování umístění jídelních příborů.

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.
function mytheme_menus() {
    register_nav_menus(
        array(
            'primary' => __( '主导航菜单', 'mytheme' ),
            'footer'  => __( '页脚菜单', 'mytheme' ),
        )
    );
}
add_action( 'init', 'mytheme_menus' );

Správné načtení stylů a skriptů je klíčem k zajištění výkonnosti front-end stránek. Je nutné používat…wp_enqueue_style()wp_enqueue_script()Funkce a pomocí níwp_enqueue_scripts„Hook“ slouží k načtení dat.

function mytheme_scripts() {
    // 加载主样式表
    wp_enqueue_style( 'mytheme-style', get_stylesheet_uri() );
    // 加载自定义JavaScript文件
    wp_enqueue_script( 'mytheme-script', get_template_directory_uri() . '/js/main.js', array(), null, true );
}
add_action( 'wp_enqueue_scripts', 'mytheme_scripts' );

Vývoj pokročilých tematických řešení a vlastních funkcí

Po zvládnutí základů můžete vytvářet podtémata, vyvíjet vlastní šablony a integrovat vlastní doplňky (customizers), čímž vytvoříte profesionálnější a flexibilnější témata.

Vytvořit podtémata

Podtémata představují osvědčené postupy, které umožňují dědit všechny funkce nadřízeného tématu a zároveň umožňují bezpečné provádění změn. Chcete-li vytvořit podtémato, stačí v adresáři s tematikou vytvořit novou složku a poté v ní soubor obsahující potřebné informace.style.cssDokumenty.

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

/*
Theme Name: My Child Theme
Template: parent-theme-folder-name
*/

Pak v podtématufunctions.phpV souboru můžete přepsat funkce základní („rodičovské“) tematiky nebo přidat nové funkce. Šablony podtematiky se načtou před soubory se stejným názvem základní tematiky.

Stránkové šablony a vlastní dotazy

Můžete vytvořit vlastní šablony pro konkrétní stránky. Stačí přidat speciální blok komentářů na začátek souboru š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.
<?php
/**
 * Template Name: 全宽页面
 */
get_header();
?>
// ... 自定义的页面布局,不使用侧边栏
<?php get_footer(); ?>

Někdy potřebujete získat a zobrazit konkrétní seznam článků mimo hlavní cyklus, a v tomto případě je potřeba použít…WP_QueryTřídy slouží k provádění vlastních dotazů.

<?php
$custom_query = new WP_Query( array(
    'post_type'      => 'post',
    'category_name'  => 'featured',
    'posts_per_page' => 3,
) );
if ( $custom_query->have_posts() ) :
    while ( $custom_query->have_posts() ) : $custom_query->the_post();
        // 输出文章内容
    endwhile;
    wp_reset_postdata(); // 重置主查询数据
endif;
?>

Integrace tématového personalizéru

WordPress Customizer poskytuje uživatelům rozhraní pro nastavování témat v reálném čase. Můžete tak$wp_customizePřidává se nastavení a ovládací prvky pro objekt – například možnost výběru barvy loga webové stránky.

function mytheme_customize_register( $wp_customize ) {
    // 添加一个设置
    $wp_customize->add_setting( 'tagline_color', array(
        'default'           => '#333333',
        'sanitize_callback' => 'sanitize_hex_color',
    ) );
    // 添加一个颜色选择控件
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'tagline_color', array(
        'label'    => __( '标语颜色', 'mytheme' ),
        'section'  => 'colors',
        'settings' => 'tagline_color',
    ) ) );
}
add_action( 'customize_register', 'mytheme_customize_register' );

A pak vheader.phpV čínštině se používáget_theme_mod()Vypusťte tento hodnotu.

<style type="text/css">
    .site-description { color: <?php echo esc_attr( get_theme_mod( 'tagline_color', '#333333' ) ); ?>; }
</style>

Závěr

Vývoj tem pro WordPress je systématický proces, který začíná pochopením základní struktury souborů a hierarchie šablon.style.cssindex.phpfunctions.phpSoubory tvoří základní kameny daného tématu.functions.phpIntegrace podpory tematiky, nabídky (menu) a načítání zdrojových souborů (resOURCES) je klíčovými kroky při vytváření funkčních temat. S rozvojem svých dovedností by měli vývojáři ovládnout tvorbu podtemat (subthemes), aby mohli tematy bezpečně přizpůsobovat a efektivně využívat vlastní šablony (custom templatesWP_QueryImplementujte složité layouty a nakonec poskytněte uživatelsky přívětivé možnosti nastavení integrací tematického personalizéru. Dodržováním těchto kroků a osvědčených postupů budete schopni vytvořit profesionální WordPress téma s vysokou funkcionalitou, standardním kódem a snadnou údržbou.

Časté dotazy

Je nutné se učit PHP pro vývoj tem pro WordPress?

Ano, PHP je základním programovacím jazykem WordPressu – šablony temát a jejich funkční logika jsou převážně napsány v PHP. Ačkoli lze část vizuálního designu provést pomocí nástrojů jako stránkové konstruktéry, pro dosažení hluboké personalizace, vytváření dynamických šablon a integrace pokročilých funkcí je znalost PHP nezbytná.

Jak zajistit, aby můj web nebo aplikace podporovaly více jazyků ( internacionalizaci)?

Potřebujete připravit téma na internacionalizaci (i18n). Ve kódu by měly všechny texty určené pro uživatele být zabaleny do funkcí pro překlad v WordPressu.__('Hello World', 'mytheme')_e('Hello World', 'mytheme')Zároveň,functions.phpPoužijte to v čínštině.load_theme_textdomain()Funkce načítá soubory s překladovými daty. Poté můžete pomocí nástrojů, jako je Poedit, tyto soubory použít k vytvoření překladů..po.moPřeložený soubor určený k použití překladateli.

Proč zmizelo mé upravené téma po aktualizaci?

Pravděpodobně je to proto, že jste přímo upravili soubory komerčních témat stažené z oficiálního adresáře WordPressu nebo zakoupených v obchodech. Když jsou tyto téma vydána v nových verzích, vaše úpravy budou přepsány. Správný postup je vytvořit dceřiné téma (Child Theme). Veškeré personalizované úpravy provádějte v dceřiném tématu, takže při aktualizaci mateřského tématu budou vaše změny zachovány.

Jak ladit a řešit běžné chyby při vývoji temat (tématických nastavení pro webové stránky)?

Nejprve se ujistěte, že…wp-config.phpV souboru je aktivován režim ladění (debugging mode).WP_DEBUGKonstanta je nastavena natrueTo zobrazí na stránce chyby, varování a upozornění PHP. Dále můžete použít nástroje pro vývojáře v prohlížeči (stiskněte F12) k kontrole a ladění problémů s CSS, JavaScriptem a síťovými požadavky. U složitějších logických problémů můžete využít další nástroje nebo metody vhodné pro daný typ problému.error_log()Funkce zobrazí informace o proměnných do chybového logu serveru za účelem vyšetření problémů.