Přípravné práce a nastavení prostředí.
Než začnete psát první řádek kódu, správné vývojové prostředí je základem pro efektivní práci. Strukturované a plně funkční lokální prostředí vám umožní se soustředit na logiku vašeho projektu, nikoli na problémy s konfigurací prostředí.
Výběr a konfigurace lokálního vývojového prostředí
Doporučujeme použít lokální serverové balíčky, které integrují Apache/Nginx, PHP a MySQL, např. Local by Flywheel, XAMPP nebo MAMP. Tyto nástroje umožňují jednoduchým postupem vytvořit PHP prostředí vhodné pro provoz WordPressu. Ujistěte se, že verze PHP je 7.4 nebo vyšší a verze MySQL je 5.6 nebo vyšší, aby byla zajištěna kompatibilita s nejnovějšími funkcemi jádra WordPressu.
Vytvoření základní struktury souborů tematického projektu
Nejjednodušší WordPress téma vyžaduje alespoň dva soubory:style.css 和 index.phpAle pro přehlednost a udržovatelnost doporučujeme od začátku vytvořit standardní strukturu adresářů. V adresáři vaší instalace WordPressu… wp-content/themes/ V té složce vytvořte novou složku, například… my-custom-themeV této složce nejprve vytvořte následující základní soubory:
- style.cssTématický stylový soubor je také “občanským průkazem” tématu a obsahuje informace o tomto tématu.
- index.phpHlavní šablona tématu, která určuje výchozí zobrazení stránek.
- functions.phpFunkční soubory témat slouží k přidávání nových funkcí, registraci položek do menu, nastavování obsahu bočních panelů a dalším účelům.
- header.phpŠablona pro hlavičku webové stránky.
- footer.phpŠablona pro spodní část webové stránky.
Doporučujeme k přečtení. Vývoj tem pro WordPress: Kompletní průvodce vytvářením profesionálních webových tem od nuly。
Vytvoření základních souborů a struktur šablon pro téma
WordPress využívá systém hierarchie šablon k určení toho, který soubor šablony má být načten pro různé typy požadavků. Porozumění tomuto systému a správné vytváření těchto souborů je základem při vývoji temat (tém).
Definování tematických informací a zavádění zdrojů
style.css Na začátku souboru musí být obsažena formátovaná poznámka, která slouží k informování WordPressu o vašem tématu. To je podmínkou pro jeho aktivaci.
/*
Theme Name: My Custom Theme
Theme URI: https://example.com/my-custom-theme
Author: Your Name
Author URI: https://example.com
Description: 一个从零开始构建的自定义 WordPress 主题。
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: my-custom-theme
*/ Následně budete potřebovat… functions.php Ve souboru, prostřednictvím… wp_enqueue_style() 和 wp_enqueue_script() Funkce správně načítá soubory CSS a JavaScript. Jedná se o způsob doporučený WordPressem, který umožňuje spravovat závislosti mezi jednotlivými prvky webové stránky a předchází konfliktům mezi různými zdroji obsahu (resurzy).
<?php
function my_theme_scripts() {
// 引入主样式表
wp_enqueue_style( 'my-theme-style', get_stylesheet_uri() );
// 引入自定义 JavaScript 文件
wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/main.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );
?> Rozdělit šablonu pro horní a dolní část stránky
Oddělte veškerý kód tvořící společnou hlavičku a patu webové stránky do samostatných souborů. header.php 和 footer.php V tomto případě je klíčovým faktorem dodržování principu DRY (Don’t Repeat Yourself) v kódu. header.php V tomto textu je potřeba zahrnout některé informace, které nebyly uvedeny. Prosím, doplňte tyto chybějící části, abych mohl poskytnout správný překlad. wp_head() Hooky funkce umožňují jádru WordPressu, pluginům a dalším skriptům vložit potřebný kód do hlavičky stránky (např. SEO metatagy).footer.php Mělo by to obsahovat… wp_footer() Hák.
Poté použijte to v jiných šablonových souborech. get_header() 和 get_footer() Funkce slouží k jejich volání.
Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress pluginů: Od základů po dokonalé vytváření vlastních funkcí。
// 在 index.php 中的典型结构
<?php get_header(); ?>
<main>
<!-- 主循环内容 -->
</main>
<?php get_sidebar(); ?> <!-- 如果需要侧边栏 -->
<?php get_footer(); ?> Porozumět a implementovat hlavní cyklus
Hlavní cyklus (The Loop) je mechanismus, který používá WordPress k načítání a zobrazování článků z databáze. Obvykle se vyskytuje… index.php、single.php、page.php V šablonách jako…
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>">
<h2><a href="/cs/</?php the_permalink(); ?>"><p><strong> Řekněte mi něco o sobě.</strong></p></a></h2>
<div class="entry-content">
<?php the_content(); ?>
</div>
</article>
<?php endwhile; else : ?>
<p><?php esc_html_e( 'Sorry, no posts matched your criteria.', 'my-custom-theme' ); ?></p>
<?php endif; ?> Tento kód používá… have_posts() 和 the_post() Funkce prochází všechny články, které splňují určité kritéria, a používá při tom šablony a značky (tagy). the_title()、the_content() Vytvořte obsah.
Přidání funkce tematického řazení a možností personalizace
Zralé téma potřebuje nejen zobrazovat obsah, ale také poskytovat některé konfigurovatelné funkce, které umožní uživatelům upravit vzhled webové stránky bez nutnosti měnit kód.
Registrování navigačního menu a bočního panelu
在 functions.php Použijte to v čínštině. register_nav_menus() Funkce slouží k deklaraci jednoho nebo více umístění navigačních položek, která jsou podporována daným tématem.
function my_theme_setup() {
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'my-custom-theme' ),
'footer' => __( 'Footer Menu', 'my-custom-theme' ),
) );
}
add_action( 'after_setup_theme', 'my_theme_setup' ); Po registraci mohou uživatelé tyto menu spravovat v administraci v sekci “Vzhled” -> “Menu”. V šablonách (např.) header.php(...) a použijte wp_nav_menu() Funkce pro zobrazení menu.
Stejně tak, použití register_sidebar() Funkce umožňují vytvořit dynamické oblasti pro příslušenství (boční panely).
Doporučujeme k přečtení. Průvodce vývojem WordPress pluginů: Vytvořte si svůj první plugin od nuly。
Podpora integrace s nástrojem na vytváření personalizovaných témat
WordPress Customizer poskytuje reálný časový přehled (real-time preview) rozhraní, které umožňuje uživatelům upravovat nastavení témat. Můžete tak… wp_customize API umožňuje přidávat různé možnosti k vašemu tématu, jako je např. logo webové stránky, barevná schéma a další vlastnosti.
function my_theme_customize_register( $wp_customize ) {
// 添加一个“颜色”板块
$wp_customize->add_section( 'my_theme_colors', array(
'title' => __( 'Colors', 'my-custom-theme' ),
'priority' => 30,
) );
// 在板块内添加一个“主色调”设置
$wp_customize->add_setting( 'primary_color', array(
'default' => '#0073aa',
'sanitize_callback' => 'sanitize_hex_color',
) );
// 为该设置添加一个颜色选择器控件
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'primary_color', array(
'label' => __( 'Primary Color', 'my-custom-theme' ),
'section' => 'my_theme_colors',
'settings' => 'primary_color',
) ) );
}
add_action( 'customize_register', 'my_theme_customize_register' ); Poté můžete to využít na straně klienta (na frontendu). get_theme_mod( 'primary_color' ) Získat hodnoty nastavené uživatelem a vložit je do CSS kódu.
Optimalizace tématu a příprava k publikování
Po dokončení vývoje je optimalizace a testování témat nezbytnými kroky k zajištění jejich stability, bezpečnosti a dobrého výkonu.
Ujistěte se, že kód je bezpečný a překladatelný.
Veškerý dynamický text, který je přímo zobrazován na stránce, by měl být obalen pomocí funkce pro překlad, aby bylo možné dosáhnout internacionalizace (i18n). Nejčastěji používanou funkcí je… esc_html()、esc_html_e() 和 ()Zároveň je nutné pro proměnné, které jsou získány od uživatelů nebo z databáze a použity v HTML atributech, URL adresách nebo JavaScript kódu, použít odpovídající funkce na jejich čištění. esc_attr()、esc_url() 和 wp_kses_post()Je to pro prevenci útoků typu cross-site scripting (XSS).
Provedení testů kompatibility mezi různými prohlížeči a testů responzivity
Vaše webové stránky musí správně fungovat a vypadat v různých prohlížečích (Chrome, Firefox, Safari, Edge) a na různých velikostech zařízení (telefony, tablety, počítače). K dosažení responzivního designu použijte CSS media queries. Před vydáním webových stránek proveďte důkladné testy na skutečných zařízeních, nebo využijte funkce simulace zařízení v nástrojích pro vývojáře prohlížečů k pomocným testům.
Optimalizace výkonu a úklid systému
Odstraňte všechny ladící kódy a poznámky, které mohly být při vývoji zanechány. Ujistěte se, že obrázky a další zdrojové soubory jsou komprimovány. Zvažte sloučení malých souborů CSS nebo JavaScript a povolte serverovou kompresi pomocí protokolu Gzip. Ačkoli samotné téma nezpracovává vykazování obsahu z mezipaměti (cache), můžete zajistit, aby byl kód čistý. Doporučujeme uživatelům používat doplňky pro zlepšení výkonu webové stránky, např. W3 Total Cache.
Vytvoření dokumentace s popisem tématu
Profesionální téma by mělo obsahovat: readme.txt Soubor obsahuje stručný popis funkčnosti tématu, postup instalace a použití možností přizpůsobení. Jedná se jak o návod pro uživatele, tak i o povinný dokument při předkládání tématu do oficiálního adresáře WordPress.
Závěr
Vytvoření vlastního WordPress tématu od nuly je systematický proces, který vyžaduje, aby vývojář rozuměl nejen HTML, CSS a PHP, ale také dobře ovládal základní koncepty WordPressu, jako jsou struktura šablon, hlavní cyklus vykazování obsahu, hooky a API. Počínaje nastavením prostředí a plánováním struktury souborů, postupně vytvoříte šablony, přidáte funkční možnosti a nakonec téma optimalizujete a zabezpečíte. Výsledkem bude WordPress téma, které splňuje moderní webové standardy, je bezpečné, spolehlivé a snadno udržovatelné. Tento proces je nejlepším způsobem, jak hloubkově poznat vnitřní mechanismy WordPressu a získat plnou kontrolu nad vzhledem a funkcemi vašeho webu.
Časté dotazy
Je nutné být zdatný v PHP při vývoji témat pro WordPress?
Ano, PHP je serverový programovací jazyk používaný pro WordPress. Logika temát, získávání dat a generování dynamického obsahu závisí na PHP. Je potřeba ovládat základní syntaxi PHP, použití funkcí a jejich kombinaci s HTML. Nemusíte však být odborníci na PHP – pro začátek stačí porozumět specifickým šablonovým značkám a funkcím WordPress.
Proč se moje téma nezobrazuje v záložce „Background“ nebo není možné ho aktivovat?
Nejčastější příčinou je style.css Formát poznámky s informacemi o tématu na vrcholu souboru není správný, chybí nutné údaje, nebo je složka s tématy umístěna na nesprávném místě. Ujistěte se, že složka s tématy je umístěna na správném místě. wp-content/themes/ V adresáři, a také… style.css Informace jako “Theme Name” v textu jsou správné a bez chyb.
Jak vytvořit různé layouty pro konkrétní typy stránek?
K tomu je potřeba využít systém úrovní šablon v WordPressu. Například můžete vytvořit šablonu s názvem… page-about.php Použijte soubor k individuálnímu nastavení rozvrhu stránky “O nás” (předpokládejme, že je její alias “about”). Stejně tak…single-post.php Použito pro samostatné články.category.php Slouží k třídění a archivaci stránek. WordPress automaticky použije tyto konkrétnější šablony podle pravidel hierarchie.
Jaký je rozdíl mezi souborem functions.php v hlavní složce projektu a pluginy?
functions.php Soubory jsou součástí tématu a jejich funkce jsou úzce spojeny s vzhledem a chováním tohoto tématu. Aktivní nebo neaktivní jsou v závislosti na změně tématu. Naopak pluginy slouží k přidání funkcí, které jsou univerzální a nezávislé na konkrétním tématu (např. kontaktní formuláře, optimalizace pro vyhledávače – SEO). Pokud je nějaká funkce nutné zachovat i při změně tématu v budoucnu, je vhodnější ji implementovat jako plugin. Dobrou praxí je… functions.php V této části je uložen pouze kód funkcí, které jsou silně spojeny s vizuálním vzhledem a uspořádáním aktuálního tématu.
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.
- Jak vybrat a přizpůsobit si dokonalý WordPress téma?
- Od nuly k jedné: Kompletní průvodce a praktické tipy pro vytvoření profesionální webové stránky pomocí WordPressu.
- Úplný průvodce vývojem temát pro WordPress: Návod na vytvoření profesionálních webových stránek od nuly
- Od nuly: Celý proces vývoje moderních WordPress temat a osvědčené postupy
- Kompletní průvodce vývojem pluginů pro WordPress: Od základů až po pokročilé návody na vytváření profesionálních rozšíření