Od zera: zrozumienie podstawowej struktury tematów WordPress

2 minuty czytania
2026-03-16
2026-06-04
2,338
Zarabiam prowizję, gdy robisz zakupy poprzez poniższe linki, bez żadnych dodatkowych kosztów dla Ciebie.

Od zera: zrozumienie podstawowej struktury tematów WordPress

Standardowa tema WordPress to folder zawierający określone pliki i katalogi. Te pliki razem definiują wygląd i funkcje witryny internetowej. Najprostszą temę można uruchomić zaledwie z dwóch plików, natomiast temat pełnowartościowy, zgodny z najnowszymi standardami rozwoju, zawiera znacznie więcej elementów.

Podstawowym plikiem jest…style.cssindex.phpWśród nich jeststyle.cssNie tylko są to pliki z definicjami stylów, ale także “dowody tożsamości” tematów. Blok komentarzy na początku tych plików zawiera metadane tematu, takie jak nazwa tematu, autor, opis, numer wersji itd. Przeglądajnik WordPress identyfikuje i wyświetla temat właśnie na podstawie tych informacji.

Kolejnym niezbędnym plikiem jest…index.phpTo jest główny plik szablonu tematu. Gdy WordPress nie może znaleźć bardziej specyficznego pliku szablonu (np.single.phppage.phpGdy to zostanie ustawione, to właśnie zostanie automatycznie użyte do renderowania strony.

Polecamy lekturę. Opanowanie rozwoju tematów WordPress: od personalizacji po implementację zaawansowanych funkcji

Oprócz tych dwóch plików, dobrze zorganizowana tematyczna struktura zawiera zwykle również następujące katalogi i pliki:
* 模板文件:如用于渲染单篇文章的single.phpWykorzystuje się do renderowania strony.page.php…a także elementy używane do tworzenia listy artykułów.archive.phpI z witryny głównej.home.phpfront-page.php
* 模板部件:存放于/template-parts/W katalogu znajdują się fragmenty koda, które można powtórnie użyć, np. opisy artykułów.content.php), nagłówek (header.phpNawigacja główna (na górze) i stopka (na dole).footer.php)。
* 函数文件:functions.phpTo istotna część funkcjonalności tematu. Służy do dodawania elementów wspierających temat, rejestracji menu i bocznej nawigacji, włączania skryptów i plików z stylami, a także do definiowania różnych własnych funkcji.
* 资源目录:通常包括/assets/Katalog, a poniżej znajdują się kolejne elementy./css//js//images/Pozostałe katalogi służą do zorganizowanego przechowywania statycznych zasobów.

UltaHost – hostingu dla stron WordPress
Gwarancja zwrotu pieniędzy w ciągu 30 dni, nieograniczony przepustowość sieci i dostęp do bazy danych, bezpłatna ochrona przed atakami typu DDoS. Promocja: 50% przy zakupie na 3 lata.

Podstawowe pliki szablonów oraz struktura hierarchii szablonów

WordPress wykorzystuje inteligentny system zwany “struktura wzorów” (Template Hierarchy), który decyduje, jaki plik wzoru ma zostać użyty do renderowania danej strony. Zrozumienie tych zasad jest kluczowe przy tworzeniu tematów (tematów dla WordPress).

Zasada działania jest następująca: gdy użytkownik odwiedza jakąś adresę URL, WordPress najpierw ustala, jaki typ strony jest to (np. strona główna, pojedna artykuł, strona z archiwem kategorii itd.), a potem sprawdza listę ustalonych priorytetów w poszukiwaniu odpowiedniej pliki szablonu. Jeśli zostanie znaleziona najbardziej pasująca plika, jest ona użyta; w przeciwnym przypadku poszukiwania są kontynuowane, aż do znalezienia pliki rezerwowej.index.php

Analiza plików szablonów często używanych

Na przykładie strony artykułu w WordPressie kolejność wyszukiwania jest zwykle następująca:single-{post-type}-{slug}.php -> single-{post-type}.php -> single.php -> singular.php -> index.phpTo oznacza, że możesz tworzyć specjalne szablony dla określonych typów artykułów lub nawet dla konkretnych tekstów.

Kolejnym istotnym plikiem jest…functions.phpChoć nie należy do struktury wzorów (template hierarchy), zapewnia wsparcie techniczne dla wszystkich wzorów. Możesz go używać w swoich projektach.add_theme_support()Funkcje służą do deklarowania funkcji dostępnych w danym temacie, np. zdjęć charakterystycznych dla artykułu, dostosowanego loga, formatowania artykułu itd.

Polecamy lekturę. Pełny przewodnik po tworzeniu stron internetowych na platformie WordPress: od zera do doskonałej znajomości praktycznych aspektów

// 在 functions.php 中添加主题支持
function mytheme_setup() {
    // 支持特色图像
    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' ) );
}
add_action( 'after_setup_theme', 'mytheme_setup' );

Możliwości tematów oraz wykorzystanie systemu hooków

Flexybilita i rozszerzalność WordPressu w dużej mierze wynikają z jego systemu “hooków”. Hooki są podzielone na dwa typy: hooki akcji (action hooks) i hooki filtrów (filter hooks). Hooki akcji umożliwiają wstawianie własnego kodu w określonych punktach wykonywania, natomiast hooki filtrów pozwalają modyfikować dane przekazywane w trakcie procesu.

Dodawanie funkcji za pomocą aktywnych háków (action hooks)

Aktywny hook (ang. action hook) jest elementem, który umożliwia wykonywanie określonych działań w ramach procesu obsługi wydarzeń (ang. event handling).do_action()Tworzenie i używanie funkcjiadd_action()Funkcja umożliwia przypisanie funkcji obsługującej odpowiedź („callback function”) do odpowiedniego „haka” („hook”). W ramach rozwoju tematów („theme development”) haki akcji („action hooks”) są często wykorzystywane do wstawiania treści w określonych miejscach lub do wykonywania operacji w określonych momencach.

Na przykład,wp_enqueue_scriptsTo kluczowy element programu, służący do bezpiecznego zarejestrowania i umieszczenia w kolejce plików z styleami oraz plików JavaScript. Zawsze należy tu ładować zasoby front-endu, a nie piszeć ich bezpośrednio w plikach z wzorcami (templates).Tagi.

hosting.com Hosting współdzielony
Wysoka wydajność dzięki procesorom AMD EPYC, pamięci masowej NVMe SSD i LiteSpeed, wewnętrzne wsparcie ekspertów 24/7, zaawansowane środki bezpieczeństwa, w tym SSL, brute force, ochrona przed złośliwym oprogramowaniem i DDoS, oszczędność do 73%
// 在 functions.php 中正确引入样式和脚本
function mytheme_scripts() {
    // 引入主样式表
    wp_enqueue_style( 'mytheme-style', get_stylesheet_uri() );
    // 引入自定义JavaScript文件
    wp_enqueue_script( 'mytheme-navigation', get_template_directory_uri() . '/assets/js/navigation.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'mytheme_scripts' );

Użyj hooków filtrów do modyfikacji wyświetlanego wyniku.

Filtry hooki są realizowane za pomocą…apply_filters()Tworzenie i używanie funkcjiadd_filter()Funkcja umożliwia montaż (łączenie) z odpowiednimi callback-funkcjami. Na przykład można zmienić długość opisu artykułu lub dodać prefiks do wszystkich nagłówków artykułów.

// 修改摘要字数长度
function mytheme_excerpt_length( $length ) {
    return 30; // 将摘要字数限制为30字
}
add_filter( 'excerpt_length', 'mytheme_excerpt_length' );

Implementowanie projektowania responsywnego oraz funkcji dostosowanych do potrzeb użytkowników

Współczesne tematy dla WordPress muszą być responsywne, czyli mogą dostosowywać się do różnych rozmiarów ekranów – od desktopów po telefony komutowane. To osiągается głównie za pomocą zapytań mediów w CSS. Dodatkowo, w połączeniu z możliwościami personalizacji w WordPress, użytkownicy mogą korzystać z przyjaznych opcji konfiguracji w panelu administracyjnym.

Tworzenie responsywnego layoutu

Powszechną praktyką jest stosowanie strategii CSS z preferencją dla urządzeń mobilnych. Najpierw tworzy się podstawowe style dla urządzeń mobilnych, a potem za pomocą zapytań mediów dodawane są lub modyfikowane są style dla większych ekranów.

Polecamy lekturę. Budowanie profesjonalnej strony internetowej: kompletny przewodnik po tworzeniu niestandardowego motywu WordPressa od podstaw.

/* 基础样式(针对移动设备) */
.container {
    width: 100%;
    padding: 10px;
}

/* 平板设备及以上 */
@media (min-width: 768px) {
    .container {
        width: 750px;
        margin: 0 auto;
    }
}

/* 桌面设备 */
@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

Integracja z narzędziem do tworzenia własnych ustawień (customizer) umożliwia przegląd w czasie rzeczywistym.

WordPressCustomizerTo potężne narzędzie, które umożliwia administratorom stron internetowych w czasie rzeczywistym przeglądanie i modyfikację niektórych ustawień tematów. Możesz…functions.phpNastępnie należy przejść przez kontrolę bezpieczeństwa.$wp_customizeDo obiektu dodaje się ustawienia oraz elementy sterujące (kontrole).

Na przykład, można dodać opcję umożliwiającą zmianę informacji o autorskich prawach w nagłówku strony internetowej.

Hosting współdzielony InterServer
Hosting współdzielony $2.50 USD miesięcznie, pierwszy miesiąc $0.1 USD kod promocyjny tryinterserver, 461 skryptów aplikacji w chmurze, instalacja jednym kliknięciem.
function mytheme_customize_register( $wp_customize ) {
    // 添加一个“版权文本”设置
    $wp_customize->add_setting( 'footer_copyright_text', array(
        'default'           => '© 2026 我的网站。保留所有权利。',
        'sanitize_callback' => 'sanitize_text_field', // 对输入进行净化
        'transport'         => 'postMessage', // 支持实时预览
    ) );

    // 为上述设置添加一个文本框控件
    $wp_customize->add_control( 'footer_copyright_text', array(
        'label'    => __( '页脚版权文本', 'mytheme' ),
        'section'  => 'title_tagline', // 放在“站点身份”区域
        'type'     => 'text',
    ) );
}
add_action( 'customize_register', 'mytheme_customize_register' );

A potem…footer.phpW pliku szablonu używa się…get_theme_mod()Funkcja wydaje ten wynik:
echo esc_html( get_theme_mod( 'footer_copyright_text', '默认版权文本' ) );

Podsumowanie.

Rozwoj tematów dla WordPressu to proces wymagający połączenia wiedzy z zakresu PHP, HTML, CSS, JavaScript oraz zrozumienia podstawy architektury WordPressu. Zaczynając od zrozumienia najprostszych elementów…style.cssindex.phpOd poznania zasad budowy złożonych struktur szablonów i systemów hooków, po realizację projektów z wykorzystaniem technik projektowania responsywnego…CustomizerIntegracja każdego elementu jest kluczowym etapem w tworzeniu profesjonalnego, wydajnego i łatwo używalnego tematu. Posłuchanie standardowych zasad struktury plików i norm kodowania nie tylko ułatwia utrzymanie tematu, ale także gwarantuje jego dobrą kompatybilność z ekosystemem WordPress oraz różnymi dodatkami (plug-inami). Pamiętaj, że dobre tworzenie tematów rozpoczyna się od dbałości o doświadczenie użytkowników i programistów.

FAQ – najczęściej zadawane pytania.

Jaki skład mają najprostszego tematu dla WordPress?

Najprostszego tematu WordPress, który można aktywować i uruchomić, potrzebne są tylko dwa pliki:style.cssindex.phpstyle.cssNawias górnego musi zawierać poprawny blok komentarza z informacją o temacie.index.phpW tym przypadku konieczne jest uwzględnienie najprostszych elementów cyklu WordPress oraz struktury HTML.

Jak dodać menu nawigacyjne do mojego tematu?

Najpierw musisz to zrobić wfunctions.phpUżyj tego w Chinach.register_nav_menus()Funkcja służy do rejestracji jednego lub kilku miejsc na liście dań. Następnie, to miejsce jest wykorzystywane w szablonie tematycznym (zwykle w…).header.php(Wybor miejsca, w którym chcesz, aby menu zostało wyświetlone, używając…)wp_nav_menu()Funkcja służy do wywoływania i wyświetlania zarejestrowanego menu.

Czym jest podtema (subtopic) i czemu warto z niej korzystać?

Podtema jest temą, która jest zależna od innej temy (temy matcznej). Pozwala ona modyfikować i rozszerzać funkcje oraz wygląd temy matcznej, bez konieczności bezpośredniego edycji jej plików. Zaletą tego rozwiązania jest to, że gdy temat matczna zostanie aktualizowana, twoje indywidualne zmiany (zrealizowane w podtemie) nie zostaną utracone, co gwarantuje bezpieczeństwo i wygodę aktualizacji.

Jak sprawić, by mój temat obsługiwał wiele języków?

Aby temat był wsparzony w kilku językach (internacjonalizacja), należy wykonać dwa głównych kroki. Najpierw, podczas rozwoju, wszystkie teksty, które potrzebują tłumaczenia, należy umieścić w specjalnych plikach lub zbiornikach danych, dostępnych do edycji. Drugi krok to implementacja mechanizmów tłumaczeń w aplikacji, aby teksty mogły być automatycznie przekładane__()_e()Najpierw należy zapakować funkcje przekładu. Następnie, za pomocą narzędzia takiego jak Poedit, wybrać te ciągi tekstu z kodu i wygenerować je..potPlik, a potem dla każdego języka stworzyć odpowiedni plik..po.moNa koniec:functions.phpWywołanie funkcji w środowisku Node.jsload_theme_textdomain()Funkcja służy do ładowania tłumaczeń.