Zaczynamy od zera: kompletny przewodnik po tworzeniu motywów w WordPressie wraz z omówieniem podstawowych technologii.

3 minuty na przeczytanie.
2026-03-12
2026-06-03
2,759
Zarabiam prowizję, gdy robisz zakupy poprzez poniższe linki, bez żadnych dodatkowych kosztów dla Ciebie.

Teme WordPress stanowią kluczową bazę dla budowy wyglądu i funkcjonalności witryny internetowej. Umiejętność ich tworzenia daje ci możliwość pełnej personalizacji wszystkich elementów witryny, pozbywając się ograniczeń wynikających z dostępnych tematów gotowych do użycia. Pierwszym krokiem na tym szlaku jest zrozumienie ich podstawowych zasad oraz struktury plików.

Każdy temat WordPress to plik, który znajduje się w określonym miejscu w strukturze witryny./wp-content/themes/foldery w katalogu. Najprostszemu tematowi funkcjonalnemu wystarczą dwa pliki:style.cssindex.phpWśród nich jeststyle.cssNie służy tylko do przechowywania stylów, ale także komentarze umieszczone na początku pliku zawierają metadane dotyczące tematu, które są kluczowe dla identyfikacji tematu w WordPress.

style.cssNa początku tekstu należy umieścić specjalne komentarze, które określają temat. Poniżej jest przykład typowego ułożenia tekstu z takimi komentarzami:

Polecamy lekturę. Kompletny przewodnik po tworzeniu motywów w WordPressie: praktyczny samouczek od podstaw do zaawansowanych technik.

/*
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
*/

Ta informacja pojawi się w panelu administracyjnym WordPressa w sekcji “Wygląd > Tematy”.index.phpTo jest główny plik szablonu tematycznego, który służy jako opcja wyjściowa, gdy nie istnieją inne, bardziej specyficzne pliki szablonów. Wraz z postępem rozwoju aplikacji będziesz stopniowo zastępiać lub uzupełniać ten plik szablonu za pomocą bardziej szczegółowych plików szablonó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.

Zrozumienie struktury poziomów w szablonie tematycznym

WordPress wykorzystuje złożony system poziomów szablonów, aby decydować, jaki plik szablonu ma zostać użyty do renderowania danej strony. Zrozumienie tego systemu jest podstawą efektywnego tworzenia tematów („tematów”) dla WordPressa – pozwala zdecydować, jakie nazwy należy nadać plikom przy tworzeniu określonych stron (np. szczegółów artykułu lub witryny kategorii).

Zasady nazewania głównych plików szablonów

Poziomy wzorców (template layers) są zorganizowane według zasady “od specjalnego do ogólnego”. Na przykład, gdy odwiedzany jest tekst blogowego o identyfikatorze 123, WordPress sprawdza kolejno:single-post-123.phpsingle-post.phpsingle.phpNa koniec…singular.phpJeśli nic z tego nie istnieje, wtedy zostanie użyte to drugie.index.php

Wśród najczęściej używanych plików szablonów znajdują się:
- front-page.phpWykorzystuje się do ustawienia strony głównej witryny internetowej.
- home.phpStrona indeksu artykułów na blogu.
- single.phpJedna z wpisów na blogu lub pojedyny tekst w przypadku ustawionego typu artykułu.
- page.phpStrona jednostronicowa.
- archive.phpŚablony ogólne dla różnych stron archiwów (kategorii, tagów, autorów itd.).
- category.phpStrona katalogu z określoną kategorią.
- 404.phpStrona błędu 404.
- header.phpfooter.phpsidebar.phpTo zwykle fragmenty lokalnych szablonów.

Zwykłe funkcje wykorzystywane do wywoływania lokalnych szablonów

Aby zachować modułarność i łatwość konserwacji kodu, WordPress oferuje kilka kluczowych funkcji do ładowania lokalnych plików z wzorami (template files). Najważniejsza z nich to…get_header()get_footer()get_sidebar()Są używane do wprowadzania różnych elementów.header.phpfooter.phpsidebar.php

Polecamy lekturę. Podstawowe koncepcje rozwoju tematów dla WordPressa

Kolejna niezbyt ważna funkcja to…get_template_part()Dzięki temu można bardziej zgodnie z potrzebami włączyć dowolny fragment szablonu. Na przykład w cyklu artykułów na blogu można chcieć użyć specjalnego szablonu zawierającego treść artykułu.

<?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'template-parts/content', get_post_type() ); ?>
<?php endwhile; ?>

Ten kod będzie najpierw sprawdzać dostępność wymaganych informacji.template-parts/content-post.php(Assuming the type of the article is…)postJeśli nie zostanie znaleziono, to zostanie wykonane załadanie.template-parts/content.php

Wykorzystanie kluczowych funkcji i mechanizmów hooków do sterowania działaniem systemu

Możliwości WordPress wynikają z jego ogromnej bazy funkcji oraz z systemu “hooków” zbudowanego na zasadach obsługi wydarzeń (event-driven). W ramach rozwoju tematów (templates) umiejętne korzystanie z core funkcji i hooków jest kluczowym elementem umożliwiającym realizację złożonych funkcji, optymalizację wydajności oraz zabezpieczenie systemu.

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%

Podstawowe funkcje do pobierania i wyświetlania zawartości

W plikach szablonów często używasz serii funkcji do pobierania i wyświetlania dynamicznego zawartości. Na przykład:the_title()Wykorzystuje się do wyświetlania nagłówka aktualnego artykułu lub strony.the_content()Wtedy wyświetlony zostanie zformatowany tekst główny. Funkcja, która odpowiada bezpośredniemu wydaniu wyniku, to…get_Funkcje znajdujące się na początku…get_the_title()Powracają dane, które możesz dalej przetwarzać w swoim kodzie.

Cykl artykułów na blogu stanowi element kluczowy w szablonach WordPressa, a standardowa struktura kodu jest następująca:

<!-- 在这里输出文章内容 -->
        <h2><?php the_title(); ?></h2>
        <div><p><strong>Treść artykułu</strong>: <p><strong>Dzięki za komentarz!</strong></p></div>
    <?php endwhile; ?>
    <!-- 这里可以放置分页导航 -->
<?php else : ?>
    <!-- 如果没有找到文章,显示的内容 -->
    <p>Nie ma żadnego tekstu do przekładu.</p>
<?php endif; ?>

Rozszerzanie funkcjonalności za pomocą „hooków”

Hakówki dzielą się na dwa typy: “akcje” (actions) i “filtry” (filters). Hakówki typu „akcja” umożliwiają wstawienie własnego kodu w momencie wydarzenia określonego, na przykład gdy…wp_headW hooku można wyświetlić dodatkowe metatagi. Możesz to zrobić, używając odpowiednich instrukcji lub funkcji.add_action()Funkcja, która umożliwia montowanie innej swojej funkcji.

Polecamy lekturę. Przewodnik po tworzeniu tematów dla WordPress: jak stworzyć swoją pierwszą własną tematę od zera

Na przykład, w temacie…functions.phpDodaj do pliku wsparcie dla linków typu Feed:

add_action( 'after_setup_theme', 'mytheme_setup' );
function mytheme_setup() {
    // 为文章和评论添加Feed链接到head中
    add_theme_support( 'automatic-feed-links' );
}

Filtry z hookami umożliwiają modyfikację danych. Na przykład, można ich użyć do…excerpt_lengthFiltry mogą zmieniać długość opisu artykułu:

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.
add_filter( 'excerpt_length', 'mytheme_custom_excerpt_length', 999 );
function mytheme_custom_excerpt_length( $length ) {
    return 30; // 将摘要长度设置为30个单词
}

functions.phpPlik stanowi “centrum funkcjonalne” tematu – wszystkie udefiniowane funkcje, wywołania hooków oraz deklaracje funkcji tematu powinny znajdować się w tym pliku.

Udokumentowano, że funkcja tematyczna jest obsługiwana.

Użyjadd_theme_support()Deklarowanie w funkcji, które funkcje core WordPress twoja temata obsługuje, jest dobrą praktyką rozwojową. Dzięki temu nie tylko włączasz te funkcje, ale także zapewnisz kompatybilność z przyszłymi wersjami WordPress.

Zwykłe opisy funkcji obejmują:

add_action( 'after_setup_theme', 'mytheme_theme_support' );
function mytheme_theme_support() {
    // 支持文章特色图像
    add_theme_support( 'post-thumbnails' );
    // 支持HTML5语义化标记
    add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'style', 'script' ) );
    // 支持自定义Logo
    add_theme_support( 'custom-logo', array(
        'height'      => 100,
        'width'       => 400,
        'flex-height' => true,
        'flex-width'  => true,
    ) );
}

Integracja własnych stylów i plików skryptów

Moderna tematika musi poprawnie zarządzać swoimi tabelami stylów CSS oraz skryptami JavaScript, aby zapewnić ich prawidłowe ładowanie, uniknąć konfliktów oraz stosować najlepsze praktyki optimizacji wydajności frontendu.

Bezpieczne rejestrowanie oraz pobieranie zasobów

Zdecydowanie nie należy używać żadnych elementów bezpośrednio w plikach szablonów.<link><script>标签来硬编码资源。正确的方法是使用wp_enqueue_scriptsAktywny hook, w połączeniu z…wp_enqueue_style()wp_enqueue_script()Funkcja.

functions.phpW tym przypadku należy definiować funkcję do obsługi kolejki zasobów (zasobów wymagających obsługi w określonym porządku).

add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_assets' );
function mytheme_enqueue_assets() {
    // 加载主样式表
    wp_enqueue_style( 'mytheme-style', get_stylesheet_uri(), array(), '1.0' );

// 加载Google字体
    wp_enqueue_style( 'mytheme-google-fonts', 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap', array(), null );

// 加载主JavaScript文件,并依赖jQuery,在页脚加载
    wp_enqueue_script( 'mytheme-script', get_template_directory_uri() . '/assets/js/main.js', array( 'jquery' ), '1.0', true );

// 如果需要传递PHP变量到JS,可以使用wp_localize_script
    wp_localize_script( 'mytheme-script', 'myThemeData', array(
        'ajax_url' => admin_url( 'admin-ajax.php' ),
        'home_url' => home_url(),
    ));
}

Taki sposób gwarantuje poprawne ustalenie zależności pomiędzy elementami systemu, unikaje niepotrzebnego ponawiania ich ładowania oraz umożliwia zarządzanie dodatkami (plug-inami) i innymi elementami interfejsu użytkownika na podstawie ich deklaracji zależności.

Dodaj obsługę stylizacji do edytora Gutenberg.

Wraz z popularnością edytorów bloków staje się kluczowym dodanie wsparcia dla stylów wizualnych (frontend) w edytorach backend, aby zapewnić doświadczenie edycji typu “to, co widzisz, to masz”. Możesz użyć…add_theme_support( ‘editor-styles’ )Dodaj również tabelę stylów edytora do kolejki.

add_action( 'after_setup_theme', 'mytheme_editor_styles' );
function mytheme_editor_styles() {
    add_theme_support( 'editor-styles' );
    add_editor_style( 'assets/css/editor-style.css' );
}

Podsumowanie.

Rozwoj tematów dla WordPressu polega na zrozumieniu podstawowej struktury plików, a potem stopniowym pogłębianiu się w tematy takie jak struktury szablonów, funkcje core, systemy hooków oraz zarządzanie zasobami. Kluczowym elementem jest praktyka – należy zacząć od najprostszego przykładu i stopniowo rozwijać swoje umiejętności.style.cssindex.phpZacznij, a potem stwórz.header.phpfooter.phpZrealizuj rozdzielenie kodu na moduły. Następnie, korzystając z hierarchii szablonów, stwórz specjalne szablony dla różnych typów stron.single.phppage.php… w…functions.php中通过钩子和add_theme_supportDodawaj funkcje w bezpieczny sposób i zawsze sprawdź, czy działają poprawnie.wp_enqueue_scriptsSłuży to do zarządzania stylami i skryptami. Dodróżując te zasadnicze zasady i kroki, będziesz w stanie stworzyć profesjonalny, wydajny i łatwy w utrzymaniu temat dla WordPress.

FAQ – najczęściej zadawane pytania.

Aby stworzyć temat dla WordPress, potrzebne są co najmniej następujące pliki:

Z technicznego punktu widzenia temat, który jest rozpoznany i aktywny w WordPressie, musi składać się z co najmniej dwóch plików:style.cssindex.phpstyle.cssUwagi w nagłówku pliku muszą zawierać poprawne metadane tematyczne, na przykład:Theme NameA…index.phpJako najprostszy plik szablonu służy do renderowania wszystkich stron.

Jak stworzyć własny szablon strony dla mojego tematu?

Stworzenie własnego szablonu strony jest bardzo proste. Musisz tylko skorzystać z dowolnego pliku szablonu (zwykle…)page.phpDodaj blok specjalnego komentarza PHP na początku kodu. Na przykład, jeśli chcesz stworzyć szablon “strony całkowicie rozciągającej się po ekranie”, możesz utworzyć nowy plik o nazwie…template-full-width.php„Pliku… i napisz na początku pliku:…”/* Template Name: 全宽页面 */Po zapisaniu zmian w panelu administracyjnym WordPressu, w rozwijanym menu “Atrybuty strony” pod opcją “Szablon” będzie dostępna opcja “Strona w pełnym rozmiarze”, którą można wybrać.

Czemu używać funkcji `add_action` w pliku `functions.php`, aby dodać nowe funkcje do systemu?

Prosto w…functions.phpNapisanie kodu funkcji w nieodpowiednim momencie może doprowadzić do wystąpienia błędów lub do tego, że funkcja nie będzie działać poprawnie.add_action()add_filter()Umieszczenie Twojej funkcji w określonym hooku WordPressu gwarantuje, że kod zostanie wykonywany w właśnie odpowiednim i bezpiecznym momencie. Na przykład…after_setup_themeHakówki są używane do inicjalizacji tematów.wp_enqueue_scriptsHakówki (ang. hooks) są używane do ładowania zasobów. To najlepsza praktyka w architekturze bazowanej na wtyczkach (pluginach) w WordPressie, która poprawia modułarność i kompatybilność kodu.

Jak zrobić, aby moja tematyczna strona obsługiwała tłumaczenie w kilku językach?

Aby temat był wsparzony w kilku językach, należy wykonać kilka kroków. Najpierw…style.cssUżywaj tego w nagłówku oraz we wszystkich plikach szablonów.__()_e()Za pierwszym krokiem należy użyć funkcji tłumaczeniowych, aby obejść wszystkie tekstowe ciągi, które wymagają przekładu. Następnie…functions.phpUżyj tego w Chinach.load_theme_textdomain()Funkcja służy do ładowania plików z tłumaczeniami. Na koniec, za pomocą narzędzi takich jak Poedit, wydzielane są teksty z źródłowego kodu i przygotowuje się je do dalszego wykorzystania..pot„Plik…” i poprosz translatora, aby na tej podstawie stworzył tłumaczenie w odpowiednim języku (np. „File…”).zh_CN.po.moPlik tłumaczeniowy należy umieścić w katalogu tematycznym./languages/Może zostać umieszczone w folderze.

Podczas rozwijania aplikacji z tematyką biznesową należy uwzględnić następujące licencje i normy:

Aby rozwijać tematy komercyjne przeznaczone do dystrybucji lub sprzedaży, należy ścisło przestrzegać wymagań licencji WordPress. Najważniejszy punkt to to, że twoja tema musi być objęta licencją GPL w wersji 2 lub wyższej, identycznej z licencją dostępną dla samego WordPressa. To oznacza, że inni mają prawo korzystać z kodu twojej temy, modyfikować go oraz dalej go dystrybuować. Ponadto należy stosować oficjalne standardy programowania i zasady recenzji tematów WordPress, aby zapewnić wysoką jakość, bezpieczeństwo oraz kompatybilność kodu. Równie istotne jest poprawne podanie informacji o licencjach wszystkich zewnętrznych elementów, które są używane w twojej temie (np. fontów, bibliotek ikon), a także upewnienie się, że te elementy są kompatybilne z licencją GPL lub posiadają odpowiednie komercyjne pozwolenia.