Klíčové koncepty a základy vývoje temát pro WordPress
Než začnete psát jakýkoli kód, je zásadní pochopit základní koncepty WordPress témat. WordPress téma je v podstatě souborová kolekce, která definuje vzhled webové stránky – od uspořádání stránek, barev po styl písma. Dodržuje určitou strukturu adresářů a interaguje s jádrem systému WordPress, aby obsah byl dynamicky zobrazen.
Podstatou tohoto tématu jsou šablony. Tyto soubory založené na PHP určují způsob zobrazení různých typů obsahu. Například…index.phpJedná se o hlavní šablonový soubor, který se používá, když WordPress nenajde konkrétnější šablonu. Úvodní stránka (hlavní stránka) je obvykle vytvořena na základě této hlavní šablony.home.php或front-page.phpOvládání: Jednotlivé články jsou…single.phpOvládání je zajištěno… Zatímco stránka je…page.phpOvládání.
Dalším klíčovým souborem jestyle.cssNení to pouze soubor se všemi styly tématu, ale také slouží jako “občanský průkaz” tohoto tématu. Blok s poznámkami v hlavě tohoto souboru obsahuje důležité metadaty, jako je název tématu, autor, popis, verze a další. Bez správných informací…style.cssWordPress nebude schopen rozpoznat váš téma. Jeho základní struktura je následující:
Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress temat: Od základů po pokročilé praktické návody。
/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme
Author: 开发者名称
Author URI: https://example.com
Description: 这是一个为学习而创建的WordPress主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-first-theme
*/ Vytvoření struktury vašeho prvního tematického souboru
Vytvoření funkčně kompletní a strukturálně jasné tematiky vyžaduje dodržování standardních adresářových a souborových organizačních pravidel. Základní, ale kompletní tematika může být vybudována z několika klíčových souborů.
Kromě výše uvedeného…index.php和style.cssKromě toho obsahuje robustní téma obvykle následující klíčové soubory:
1. functions.phpToto je “mozek” tématu – slouží k přidávání funkcí daného tématu, registračnímu menu, bočnímu panelu (oblasti pro widgety), načítání skriptů a stylů atd. Není to sám o sobě šablonový soubor, ale každé téma by ho mělo obsahovat.
2. header.phpHTML struktura obsahující hlavičku webových dokumentů, navigační menu a začátek stránky.
3. footer.phpObsahuje informace o autorských právech, skripty a závěrečné značky (end tags) umístěné na spodní část stránky.
4. sidebar.phpDefinice HTML struktury pro boční panel.
5. page.php 和 single.phpJsou použity k renderování statických stránek a jednotlivých článků.
Efektivní vývojový pracovní postup zahrnuje vytvoření hlavní šablonové souborové struktury.index.phpChcete-li načíst tyto části souborů, použijte vestavěné funkce šablon WordPress:
<?php get_header(); ?>
<main id="main">
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// 显示内容
the_title( '<h1>', '</h1>' );
the_content();
endwhile;
else :
echo '<p>没有找到内容。</p>';
endif;
?>
</main> 在functions.phpV tomto dokumentu můžete použít následující způsoby:add_actionFunkce pro registraci pomocí „hooků“ – např. přidání podpory pro zobrazení přehledných obrázků („feature images“) k článkům:
<?php
// 为主题添加基本支持
function mytheme_setup() {
// 启用文章和页面上的“特色图像”功能
add_theme_support( 'post-thumbnails' );
// 添加对HTML5标记的支持
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) );
// 注册一个主导航菜单
register_nav_menus( array(
'primary' => __( '主导航菜单', 'my-first-theme' ),
) );
}
add_action( 'after_setup_theme', 'mytheme_setup' ); Využití hierarchie šablon a systému cyklů
Systém úrovní šablon v WordPressu je soubor pravidel, které určují, který soubor šablony se má použít pro konkrétní požadavek na stránku. Porozumění tomuto uspořádání úrovní je klíčové pro vývoj pokročilých temát (témů), neboť vám umožňuje vytvářet velmi přizpůsobené rozložení různých částí webové stránky.
Doporučujeme k přečtení. Naučte se vývoj WordPress témat od nuly: vytvořte si personalizovanou webovou stránku.。
Když uživatel navštíví vaše webové stránky, WordPress vyhledá odpovídající šablonové soubory na základě aktuálního typu obsahu (např. blogový článek, stránka, archiv kategorií atd.). Pořadí vyhledávání sleduje princip od nejkonkrétnějšího k nejobecnějšímu. Například pro stránku s ID 5 bude WordPress vyhledávat postupně:
1. page-5.php (Vytvořeno speciálně pro tento ID stránky)
2. page-sample-page.php (Použít alternativní název stránky)
3. page.php (Všeobecný šablonový formulář)
4. singular.php (Všeobecný jednotný obsahový šablon)
5. index.php (Konečné zpětné nastavení)
Ústředním prvkem zobrazení všech obsahů je “WordPress Loop”. Jedná se o blok kódu v PHP, který slouží k procházení výsledného souboru základů aktuálního dotazu a zobrazení každého článku nebo stránky. Základní struktura tohoto cyklu je v podstatě stejná ve všech šablonových souborech:
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// 当前文章/页面的内容在这里输出
the_title( '<h2 class="entry-title"><a href="/cs/' . esc_url( get_permalink() ) . '/">', '</a></h2>' );
the_excerpt(); // 或使用 the_content()
endwhile;
the_posts_navigation(); // 文章导航链接
else :
// 如果没有找到任何内容
_e( '抱歉,没有找到符合您要求的内容。', 'textdomain' );
endif;
?> Pro zvýšení modulárnosti a udržovatelnosti šablon doporučuje WordPress používání…get_template_part()Funkce. To vám umožňuje oddělit společný zobrazení kódu (např. shrnutí článku, metadata článku) do samostatných souborů a používat je opakovaně.
// 在 archive.php 或 index.php 中
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/content', get_post_format() );
endwhile; Tento kód se pokusí načíst…template-parts/content-{post-format}.php(Například)content-video.phpPokud neexistuje, pak se načte.template-parts/content.php。
Pokročilé funkce: Nástroj pro vytváření tematických nastavení a vlastních polí
Vývoj moderních WordPress temat se nezaměřuje pouze na vzhled, ale také na poskytnutí uživatelům intuitivních možností přizpůsobení. Nástroj pro přizpůsobování WordPress temat (WordPress Customizer) nabízí rozhraní s možností přímého náhledu, které umožňuje uživatelům měnit nastavení temat bez nutnosti editování kódu.
在functions.phpV tom můžete použít…$wp_customizeK objektu lze přidávat nastavení, ovládací prvky a bloky. Například lze přidat možnost pro zobrazení textu s autorskými právy v podnímkové části stránky.
Doporučujeme k přečtení. Od nuly k jedné: základní dovednosti a praktické pokyny pro vývoj moderních WordPressových témat.。
function mytheme_customize_register( $wp_customize ) {
// 添加一个新的设置
$wp_customize->add_setting( 'mytheme_footer_text', array(
'default' => '© 2026 我的网站。保留所有权利。',
'sanitize_callback' => 'sanitize_text_field',
'transport' => 'postMessage', // 实现实时预览
) );
// 添加一个控件来编辑这个设置
$wp_customize->add_control( 'mytheme_footer_text', array(
'label' => __( '页脚版权文本', 'my-first-theme' ),
'section' => 'title_tagline', // 放在“站点身份”区域
'type' => 'text',
) );
}
add_action( 'customize_register', 'mytheme_customize_register' ); A poté,footer.phpV tomto dokumentu můžete použít následující způsoby:get_theme_mod()Funkce vypisuje tento hodnotu:
echo esc_html( get_theme_mod( 'mytheme_footer_text', '默认版权文本' ) ); Pro složitější strukturu obsahu jsou metadata článků (vlastní pole) a rozšíření klasifikací velmi užitečné nástroje. Můžete je implementovat pomocí pluginů pro pokročilá vlastní pole (Advanced Custom Fields – ACF) nebo nativních funkcí WordPressu. Například můžete článku přidat pole “Délka čtení”.
// 在 single.php 中显示自定义字段
$reading_time = get_post_meta( get_the_ID(), 'reading_time_minutes', true );
if ( $reading_time ) {
echo '<span class="reading-time">Doba čtení: '. intval($reading_time).' minut</span>';
} Pro vytvoření dynamičtějších stránek je běžným trikem vytvoření vlastních šablon stránek. Stačí přidat konkrétní blok komentářů na začátek PHP souboru a tyto šablony se pak zobrazí v rozbalovacím menu určeném k výběru šablon stránek.
<?php
/*
Template Name: 全宽页面模板
*/
get_header();
?>
<!-- 你的全宽内容布局代码 -->
<?php get_footer(); ?> Závěr
Vývoj tem pro WordPress je komplexní dovednost, která kombinuje design, front-end technologie a back-end logiku. Začínáme pochopením těch nejzákladnějších principů…style.css和index.phpZačněte s čtením souboru a postupně si osvojte pravidla hierarchie šablon a systém cyklů – to je základ pro vytváření funkčních temat. Modulární struktura temat a jejich efektivní využití vám pomohou při jejich vývoji.functions.php和get_template_part()Funkce mohou výrazně zlepšit udržovatelnost a znovupoužitelnost kódu.
V pokročilé fázi vývoje může hluboké integrování personalizátorů témat poskytnout uživatelům přívětivý a v reálném čase fungující zážitek při nastavování. Pružné využívání vlastních polí a šablon stránek umožňuje vytvořit obsahové uspořádání, které splňuje složité požadavky. Dodržování oficiálních kódovacích standardů a osvědčených postupů WordPressu je klíčové pro zajištění bezpečnosti, efektivity vašeho tématu a jeho kompatibilitě s celým WordPress ekosystémem. Právě to umožní vaše vývojářské dovednosti posunout z úrovně “fungujících” na úroveň “odborných”.
Časté dotazy
Jaký je rozdíl mezi tematikami (templates) a doplňky (plugins) pro WordPress?
Témata ovládají především vzhled webové stránky a její vzhledovou prezentaci na straně uživatele – určují rozložení obsahu, barevné schéma, sazbu a další vizuální aspekty. Interagují přímo s hierarchií šablon v WordPressu prostřednictvím souborů šablon.
Pluginy slouží k rozšíření funkcí webové stránky – mohou přidat nové vlastnosti, jako jsou kontaktní formuláře, nástroje pro optimalizaci vyhledávačů nebo funkce pro elektronický obchod, aniž by se změnil vzhled stránky. Na jedné webové stránce může být aktivováno pouze jedno téma, ale lze nainstalovat a aktivovat více pluginů.
Jaký je správný způsob registrace stylů a skriptů v souboru functions.php?
Správný způsob je použít…wp_enqueue_scripts„Hooky“ – to zajišťuje správné zpracování závislostí mezi jednotlivými komponentami a předchází jejich duplicitnímu načítání. Zde je standardní příklad:
function mytheme_enqueue_assets() {
// 注册并排队主样式表
wp_enqueue_style( 'mytheme-main-style', get_stylesheet_uri(), array(), '1.0.0' );
// 注册并排队一个自定义JavaScript文件
wp_enqueue_script( 'mytheme-custom-script', get_template_directory_uri() . '/js/custom.js', array('jquery'), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_assets' ); Absolutně nepoužívejte žádné prvky přímo v souborech šablon.link或scriptHardkódování značek (tagů) pro načítání zdrojových souborů není v souladu s osvědčenými postupy používání WordPressu a může vést k konfliktům nebo problémům s výkonem.
Co je to podtémata (subtopics), proč je používat a jak s nimi pracovat?
Podtémata jsou témata, která závisí na jiném tématu (nazývaném mateřským tématem). Umožňují vám upravovat nebo rozšiřovat funkce a vzhled mateřského tématu, aniž byste museli přímo měnit soubory tohoto mateřského tématu. Výhodou tohoto přístupu je, že pokud dojde k aktualizaci mateřského tématu, vaše vlastní úpravy (uváděné v podtématech) nebudou přepsány, což zajišťuje bezpečnost a usnadňuje údržbu.
Vytvoření podtématu je velmi jednoduché. Nejprve…/wp-content/themes/V adresáři vytvořte novou složku (například…)mytheme-childPoté v něm vytvoříte něco nového.style.cssSoubor – jeho počáteční poznámky („header comments“) musí obsahovat…Template:Zadejte název adresáře s hlavním tématem.
/*
Theme Name: 我的主题子主题
Template: my-first-theme
*/ Poté můžete v rámci podtémat…style.cssPřidejte pravidla stylů do daného souboru, nebo vytvořte šablonový soubor se stejným názvem, který překryje odpovídající šablonový soubor základní (rodičovské) tematiky.
Jak zajistit, aby mé téma podporovalo vícejazyčné překlady?
Umožnit vašemu projektu podporu internacionalizace (i18n) a lokalizace je důležitým krokem na cestě k profesionálnímu vývoji. Je nutné používat funkce pro lokalizaci poskytované WordPressem k obalení všech textových řetězců, které se zobrazují uživatelům na straně klienta.
Nejprve použijte to na všech stránkách, které lze přeložit.__()(Použito pro návratové hodnoty) nebo_e()(Funkce slouží k přímému zobrazení výstupu) a nastaví se textové pole (Text Domain).functions.phpV čínštině se používáload_theme_textdomain()Funkce načítá soubor s překladovými daty.
// 在 functions.php 中
function mytheme_load_textdomain() {
load_theme_textdomain( 'my-first-theme', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'mytheme_load_textdomain' );
// 在模板文件中使用
_e( '阅读更多', 'my-first-theme' );
$heading = __( '最新文章', 'my-first-theme' ); Poté můžete použít nástroje, jako je Poedit, k prohledání řetězců v souborech temat a jejich generování..potSoubory a vytvoření verzí pro různé jazyky..po和.moSoubor by měl být umístěn do tématu./languages/V adresáři.
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.
- Kompletní průvodce výstavbou webových stránek: Kompletní technologický stack od nuly až po spuštění webové stránky včetně praktických tipů pro SEO optimalizaci
- Podrobný rozbor procesu výstavby webových stránek: Od nuly k vytvoření vysoce výkonných firemních webových stránek
- Od nuly ke jedničce: Kompletní postup vývoje webových stránek a analýza klíčových technologií
- Kompletní analýza klíčových procesů při tvorbě webových stránek: profesionální návod od nuly po jedničku.
- Konečný průvodce tvorbou webových stránek: kompletní proces vytvoření profesionálních webových stránek od nuly.