Poznejte základní strukturu WordPressových témat.
Téma WordPress je v podstatě něco, co se nachází na/wp-content/themes/V adresáři se nacházejí složky, které obsahují sadu souborů dodržujících určitá pravidla. Tyto soubory společně určují vzhled, uspořádání a některé funkce webové stránky. Porozumění architektuře tématu je prvním krokem při vývoji.
Nejzákladnější téma vyžaduje alespoň dvě soubory:style.css和index.phpMezi nimi jestyle.cssNejde pouze o šablony stylů, ale také o metadata týkající se samotného tématu. Tyto informace jsou definovány v bloku komentářů na začátku souboru, a právě na základě jejich čtení WordPress v pozadí rozpoznává a zobrazuje vaše téma.
Funkce souboru hlaviček pro informace o tématu (theme information header file)
Soubor s hlavičkami informací o tématu se nachází na…style.cssNa nejvyšším místě se nachází speciální soubor, který slouží k nastavení základních informací o tématu. Tento soubor používá určitý formát poznámek k uvedení názvu tématu, autora, popisu, verze a dalších důležitých údajů. Jedná se vlastně o “občanský průkaz” tohoto tématu – bez něj by WordPress nemohl rozpoznat, o jaké téma se jedná.
Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress temát od začátku až po dokonalost。
Níže je příklad standardního informačního hlavičkového řádku (header):
/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme/
Author: 开发者名称
Author URI: https://example.com/
Description: 这是一个用于学习的简洁WordPress主题。
Version: 1.0
License: GPL v2 or later
Text Domain: my-first-theme
*/ Mezi nimi,Text DomainPoužívá se pro internacionalizaci (i18n) a slouží k následnému použití funkcí pro překlad (např.)__()或_e()Textové pole, které je nutné použít při…)
Hierarchický vztah mezi základními šablonovými soubory
WordPress využívá systém hierarchie šablon (Template Hierarchy) k určení toho, který soubor šablony by měl být použit k zobrazení konkrétní stránky. Jedná se o mechanismus vyhledávání postupujícího od specifických případů k obecným pravidlům. Například při přístupu k článku s ID 123 WordPress postupně prohledá následující soubory šablon:single-post-123.php -> single-post.php -> single.php -> singular.php -> index.phpVývojáři mohou snadno přizpůsobit různé typy stránek (hlavní stránka, stránky článků, kategorie atd.) odlišným rozvržením tím, že vytvoří soubory s konkrétními názvy.
Vytvoření základní šablony souboru pro tematické nastavení
Po zvládnutí základů infrastruktury potřebujeme vytvořit klíčové šablonové soubory, které poslouží jako „kostra“ webové stránky. Tyto soubory jsou napsány v kombinaci jazyků PHP a HTML a obsahují volání základních funkcí WordPressu, které umožňují dynamické načítání obsahu.
Vytvoření hlavičky a patičky webové stránky
Abychom dodrželi zásadu DRY (‘Don’t Repeat Yourself“) v kódu, obvykle oddělíme kód hlavičky a patičky, který je společný pro všechny stránky, do samostatných souborů.
Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress temat: Od začátků pro začátečníky až po praktické aplikace v projektech。
header.phpSoubory obvykle obsahují deklaraci typu dokumentu.Oblast (ve které musí být volán)wp_head()Funkce), stejně jako veřejné oblasti na vrcholu webové stránky, jako je logo a hlavní navigace. Voláníwp_head()Hooky jsou velmi důležité, protože umožňují samotnému jádru WordPressu, pluginům a temám vkládat do hlavičky stránek potřebné skripty a styly.
footer.phpSoubor obsahuje společné obsahy umístěné na spodní části webové stránky a ty jsou zavolány před koncem souboru.wp_footer()Funkce. Tento hook je spojen s…wp_head()Podobně se to používá k načítání skriptů na spodní straně stránky nebo k zobrazení dalších informací.
V hlavním šablonovém souboru používáme…get_header()和get_footer()Funkce slouží k jejich načtení (zavádění).
Návrh hlavního cyklu a zobrazení článků
Jádrem zobrazení obsahu v WordPressu je “hlavní cyklus” (The Loop). Jedná se o standardní PHP cyklickou strukturu, která slouží k procházení seznamu článků (nebo stránek) nalezených na aktuální stránce a k jejich postupnému zobrazení.
Typický…index.phpStruktura souborů je následující:
<?php get_header(); ?>
<main id="primary" 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>
<?php get_sidebar(); // 可选,引入侧边栏 ?>
<?php get_footer(); ?> Uvnitř cyklu lze použít řadu šablonovacích značek začínajících slovem “the_” k výstupu informací o článku.the_title()、the_content()、the_permalink()Atd. Pro větší modulárnost je obsah článků obvykle organizován pomocí…get_template_part()Funkce byly odděleny.template-parts/content.phpV takovém podtempletu.
Doporučujeme k přečtení. Průvodce vývojem WordPress temat: Vytvořte si své první téma od nuly。
Přidání stylu a interaktivních funkcí k tématu
Moderní téma nemůže existovat bez pečlivě navrženého vzhledu a potřebných interaktivních funkcí. To zahrnuje uspořádání šablon stylů, registraci a řazení skriptů, stejně jako využití funkcí menu a bočních panelů v WordPressu.
Správné zavádění stylů a skriptů
Nikdy nepoužívejte šablony přímo ve svých dokumentech.<link>或<script>Zdrojové soubory s tagy by měly být nikoli hardkódovány, ale správným způsobem nastaveny pomocí vhodných nástrojů a konvencí.wp_enqueue_style()和wp_enqueue_script()Funkce, a tyto operace poté připojte („mount“)…wp_enqueue_scriptsNa háčku.
To se obvykle vyskytuje v rámci tématu…functions.phpDokončeno v souboru:
function my_first_theme_scripts() {
// 引入主题主样式表
wp_enqueue_style( 'my-first-theme-style', get_stylesheet_uri(), array(), wp_get_theme()->get('Version') );
// 引入Google Fonts
wp_enqueue_style( 'my-first-theme-google-fonts', 'https://fonts.googleapis.com/css2?family=Roboto&display=swap', array(), null );
// 引入主JavaScript文件
wp_enqueue_script( 'my-first-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), wp_get_theme()->get('Version'), true );
}
add_action( 'wp_enqueue_scripts', 'my_first_theme_scripts' ); Tento přístup zajišťuje správu závislostí, předchází opakovanému načítání a je kompatibilní se systémem pluginů WordPress.
Registrovat navigační menu a oblast nástrojů
Aby téma podporovalo konfiguraci vzhledu v pozadí prostřednictvím menu, je nutné registrovat pozice navigačních položek. Stejně tak…functions.phpPoužijte to v čínštině.register_nav_menus()Funkce:
function my_first_theme_setup() {
register_nav_menus(
array(
'menu-1' => esc_html__( '主导航', 'my-first-theme' ),
'footer' => esc_html__( '页脚导航', 'my-first-theme' ),
)
);
}
add_action( 'after_setup_theme', 'my_first_theme_setup' ); Po registraci můžete použít šablonové soubory (napříkladheader.phpPoužívá se v…)wp_nav_menu()Funkce pro zobrazení menu.
Oblast pro widgety, která je nyní také nazývána “boční lišta”, slouží k použití…register_sidebar()Registrování funkcí. Po registraci mohou uživatelé v zázemní části systému (“Nástroje”) přetahovat komponenty do těchto oblastí. Ve svých šablonách pak tyto komponenty použijete k vytvoření požadovaného vzhledu.dynamic_sidebar()Funkce je volají.
Implementace pokročilých tematických funkcí a osvědčených postupů
Jakmile budou základní funkce dokončeny, lze flexibilitu a profesionalitu témat zvýšit pomocí výkonného systému hooků (Hooks) a funkcí pro vlastní nastavení v WordPressu.
Využijte přizpůsobovače temat k zvýšení kontroly.
WordPress Customizer umožňuje uživatelům v reálném čase předvídat a upravovat nastavení témat. Můžete tedy…wp_customize K tématu API by měly být přidány možnosti nastavení, jako je logo webové stránky, barevná škála, výběr rozložení stránky atd.
Níže je jednoduchý příklad nastavení “textu o autorských právech v podobě patra” pro dané téma:
function my_first_theme_customize_register( $wp_customize ) {
// 添加一个设置项
$wp_customize->add_setting( 'footer_copyright_text',
array(
'default' => '© 2026 我的网站。保留所有权利。',
'transport' => 'refresh', // 或 ‘postMessage’ 用于实时预览
'sanitize_callback' => 'wp_kses_post', // 清理输入
)
);
// 添加一个控件来控制这个设置
$wp_customize->add_control( 'footer_copyright_text',
array(
'label' => __( '页脚版权文本', 'my-first-theme' ),
'section' => 'title_tagline', // 放在“站点身份”区域
'type' => 'textarea',
)
);
}
add_action( 'customize_register', 'my_first_theme_customize_register' ); 在footer.phpV čínštině se používáget_theme_mod( 'footer_copyright_text' )Vyveďte tuto hodnotu.
Dodržujte zásady bezpečnosti a výkonnosti.
Bezpečnost je nejdůležitějším aspektem při vývoji webových stránek. Veškerá data, která jsou dynamicky generována, musí být označena speciálními značkami („escaped“), a veškerý vstup od uživatelů musí být očištěn („sanitized“). WordPress nabízí řadu funkcí, které vám pomohou s tímto procesem.esc_html()、esc_attr()、esc_url()Používá se k výstupu escape znaků.sanitize_text_field()、sanitize_email()Slouží k vstupnímu úpravování dat.
Z hlediska výkonu je důležité zajistit, aby kód tematických stránek byl stručný a efektivní, rozumně využíval vyčerpávání dat (caching) a optimalizoval front-end zdroje (např. kompresí obrázků, sloučením souborů CSS/JS, použitím technik „lazy loading“ atd.).get_template_part()Využívejte opakované použití kódu a vyhněte se psaní složité obchodní logiky do šablonových souborů. Přesuňte tuto logiku do jiných částí kódu, kde bude lépe spravovatelná.functions.phpNebo v speciálních funkčních souborech.
Závěr
Vývoj tem pro WordPress je proces, který kombinuje technologie webového frontendu (HTML, CSS, JavaScript) s logikou backendu v jazyce PHP. Začínáme pochopením…style.cssOd úrovně šablon až po vytvoření jádra…header.php、footer.php和index.phpA poté přes…functions.phpSprávné přidávání funkcí, stylů a skriptů, při dodržování všech pravidel a osvědčených postupů WordPressu, je zásadním krokem při vývoji kvalitních, udržovatelných a uživatelsky přívětivých profesionálních témat. Dobré znalosti nástrojů pro personalizaci témat a systému hooků, spolu s neustálým pamatováním na zásady bezpečnosti a výkonnosti, jsou klíčové pro úspěšný vývoj takových témat. Díky průběžné praxi a zkoumání se budete moci postupně posouvat od vytváření základních témat k vývoji pokročilých produktů, které splňují složitější požadavky uživatelů.
Časté dotazy
Které soubory musí obsahovat nejzákladnější WordPress téma?
Nejzákladnější téma, které je rozpoznatelné systémem WordPress, musí obsahovat dvě soubory:style.css和index.php。style.cssVrchní část musí obsahovat správně formátovaný blok poznámek s hlavičkou tématu, kde “Theme Name:” je povinný položek.index.phpJedná se o finální zpětný přepínač („fallback template“) pro všechny stránky.
Proč je nutné volat funkce `wp_head()` a `wp_footer()` v souborech `header.php` a `footer.php`?
wp_head()和wp_footer()Jedná se o akční háčky (Action Hooks), které poskytuje samotné jádro WordPressu. Jejich použití umožňuje WordPressu, pluginům a kódu jiných temat vložit potřebný kód (např. klíčový CSS, JavaScript, metatagy atd.) do určitých částí stránky – a to před jejím zobrazením. Pokud jsou tyto háčky vynechány, může dojít k nefunkčnosti pluginů, k nezobrazení správného panelu nebo k chybám při načítání stylových skriptů.
Jak zajistit, aby mé téma podporovalo vícejazyčné překlady?
Nejprve,style.cssSprávně nastavit informace v hlavičce (header)Text Domain(Například: „my-theme“) a poté…functions.phpPoužijte to v čínštině.load_theme_textdomain()Funkce nastavuje cestu k souboru s překladovými daty. Dále je ve všech textových řetězcích tématu použita funkce pro překlad v WordPressu – například…esc_html_e( 'Hello World', 'my-theme' )或printf( __( 'Welcome to %s', 'my-theme' ), get_bloginfo('name') )Nakonec vytvořte šablonový soubor typu .pot pomocí nástroje, jako je Poedit, a poté přeložte obsah tohoto souboru do odpovídajícího jazykového souboru typu .mo.
Co jsou výhody vývoje dceřiného tématu (Child Theme)?
Vytváření podtémát je osvědčenou praxí při úpravě a rozšíření funkcí stávajících hlavních témat. Mezi jejich hlavní výhody patří: bezpečné aktualizace hlavního tématu bez ztráty vlastních úprav; potřeba přepsat pouze ty soubory hlavního tématu, které je třeba změnit, což výrazně snižuje objem kódu; a možnost použití jako výchozího bodu pro učení a návrh prototypů. Při vytváření podtémátu stačí vytvořit nový adresář, který obsahuje soubor s správnými informačními značkami (včetně pole “Template: parent-theme-folder-name”).style.css…a také jedno.functions.phpSoubor můžete okamžitě použít k přizpůsobení.
Jaký je další krok? Co bych měl udělat dál?
Další čtení a praktické znalosti
Následující obsah souvisí s tématem tohoto článku a je vhodný k dalšímu prostudování. Obvykle je lepší začít čtením článku, který je nejblíže vašemu aktuálnímu problému, a poté postupně přecházet k souvisejícím tématům.
- Vývoj tem pro WordPress od základů po mistrovství: Kompletní průvodce vytvářením personalizovaných webů
- Ultimátní průvodce výstavbou webových stránek: Kompletní postup od návrhu po spuštění a analýza klíčových technologií
- Vývoj WordPress témat od nuly: Vytvoření jedinečného webového rozhraní
- Proč zvolit WordPress jako preferovanou platformu pro výstavbu webových stránek?
- Průvodce základymi WordPressu: Vytvořte si své první profesionální webové stránky od nuly