Praktyczny przewodnik po tworzeniu motywów w WordPressie: kompletny przewodnik po tworzeniu niestandardowego motywu od podstaw.

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

Środowisko rozwoju i inicjalizacja projektu

Przed rozpoczęciem tworzenia własnego tematu dla WordPress kluczowym krokiem jest stworzenie efektywnego środowiska rozwojowego. To nie tylko zapewnia standardową strukturę kodu, ale także znacząco poprawia efektywność pracy i wygodę podczas debugowania.

Ustawienie środowiska rozwoju lokalnego

Zaleca się używać lokalnego oprogramowania do obsługi serwerów, takiego jak Local by Flywheel, MAMP lub XAMPP, które umożliwiają szybkie uruchomienie środowiska zawierającego PHP, MySQL oraz serwery Apache/Nginx na twoim komputerze. Po instalacji lokalnego serwera pobierz i zainstaluj najnowszą wersję WordPressa. Następnie, w katalogu instalacji WordPressa… wp-content/themes W folderze utwórz nowy folder, na przykład: my-custom-themeTo będzie katalog źródłowy twojego tematu.

Utworzenie dokumentu podsumowującego temat.

Najprostszego tematu dla WordPress wystarczą dwa pliki:style.cssindex.phpNajpierw należy stworzyć… style.css Ten plik służy nie tylko do definiowania stylów, ale co więcej – dzięki informacjom umieszczonej w komentarzach na początku pliku informujesz WordPress o swoim temacie.

Polecamy lekturę. Pełny przewodnik po tworzeniu motywów w WordPressie: tworzenie niestandardowego motywu witryny WordPress od podstaw.

/*
Theme Name: My Custom Theme
Theme URI: https://yourdomain.com/
Author: Your Name
Author URI: https://yourdomain.com/
Description: 一个从零开始构建的自定义 WordPress 主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-custom-theme
*/

Text Domain Wykorzystuje się to do celów internacjonalizacji – służy jako identyfikator dla tekstu, który ma zostać przetłumaczony później. Następnie tworzy się najprostszą, podstawową strukturę tego tekstu. index.php Pliki mogą na początku zawierać tylko prostą strukturę HTML. Po ukończeniu tworzenia tych dwóch plików będzie można zobaczyć tę “pustą” tematę w panelu administracyjnym WordPress (“Wygląd” -> „Tematy”) i ją włączyć.

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.

Struktura tematów i poziomy w szablonach

Zrozumienie struktury poziomów tematów w WordPress jest kluczowym elementem przy tworzeniu własnych tematów. To właśnie decyduje, jak WordPress automatycznie wybierze odpowiedni plik tematycznego kodu do renderowania na podstawie różnych żądań (np. strony artykułu, strony witryny, archiwów kategorii).

Podstawowe pliki szablonów i ich funkcje

WordPress wyszukuje pliki z wzorami w określonym porządku. Najprostszym sposobem działania jest odwrot od najbardziej specyficznych wzorów do najbardziej ogólnych. Na przykład, gdy odwiedzany jest pojedynczy artykuł, WordPress szuka pliki z wzorami w następującym kolejności:single-post-{id}.php, single-post.php, single.phpNa koniec… singular.phpJeśli nic nie zostanie znalezione, użyj się tego. index.phpPodobnie na główniej stronie najpierw zostanie wykonywana wyszukiwanka. front-page.phpA dopiero potem home.phpZnajomość tego związku hierarchicznego umożliwi ci precyzyjne kontrolowanie rozkładu różnych stron poprzez tworzenie specjalnych plików szablonów.

Utwórz plik szablonu, który często będziesz używać.

Oprócz tego index.phpPowinienesz stopniowo tworzyć następujące kluczowe pliki szablonów, aby zbudować kompletną strukturę tematu:
- header.phpNawigacja na stronie internetowej, zawierająca: <head> Zona obszarów oraz nawigacja górna.
- footer.phpDolna część strony internetowej.
- sidebar.phpBoczna lista.
- functions.phpPlik funkcjonalny tematu, służący do dodawania nowych funkcji, rejestracji elementów menu, obszaru z narzędziami itd.
- page.phpWykorzystuje się do renderowania pojedynczej strony.
- single.phpWykorzystuje się do renderowania pojednego artykułu.
- archive.phpWykorzystuje się do renderowania stron archiwów zawierających kategorie, tagi, autory itd.

index.php W programie Microsoft Excel możesz użyć get_header(), get_footer(), get_sidebar() Można używać takich tagów szablonowych, aby włączyć te modułowe części kodu i uzyskać możliwość powtórnego użycia tego kodu.

Polecamy lekturę. Szczegółowa analiza tworzenia motywów w WordPressie: podręcznik dotyczący kluczowych technik, od podstaw do zaawansowanych zagadnień.

Podstawowe funkcje i opcje tematyczne

functions.php Plik stanowi “ mózg” twojego tematu – wszystka logika związana z obsługą backendu oraz dodatkowe funkcje są zawarte w tym pliku. Plik jest automatycznie ładowany podczas inicjalizacji tematu.

Dodanie obsługi tematów oraz funkcji rejestracji.

przejść (rachunek lub inspekcję itp.) add_theme_support() Można deklarować różne funkcje, które temat obsługuje. Na przykład włączenie miniatur artykułów (specjalnych zdjęć) jest standardową opcją w obecnych tematach.

function my_theme_setup() {
    // 添加文章和评论的 RSS feed 链接到 head
    add_theme_support( 'automatic-feed-links' );
    // 启用文章缩略图功能
    add_theme_support( 'post-thumbnails' );
    // 启用自定义菜单功能
    add_theme_support( 'menus' );
    // 让 WordPress 管理文档标题
    add_theme_support( 'title-tag' );
    // 启用对古腾堡编辑器的宽对齐和颜色支持
    add_theme_support( 'align-wide' );
    add_theme_support( 'editor-color-palette', array( /* ... */ ) );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

Ponadto musisz zarejestrować pozycje elementów menu nawigacyjnego oraz obszar z dodatkowymi funkcjami (boczna lista).

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%
function my_theme_menus() {
    register_nav_menus( array(
        'primary' =&gt; __( '主导航菜单', 'my-custom-theme' ),
        'footer'  =&gt; __( '底部菜单', 'my-custom-theme' ),
    ) );
}
add_action( 'init', 'my_theme_menus' );

function my_theme_widgets_init() {
    register_sidebar( array(
        'name'          =&gt; __( '主侧边栏', 'my-custom-theme' ),
        'id'            =&gt; 'sidebar-1',
        'description'   =&gt; __( '在此添加小工具。', 'my-custom-theme' ),
        'before_widget' =&gt; '<section id="%1$s" class="widget %2$s">',
        'after_widget' =&gt; '</section>',
        'before_title' =&gt; '<h2 class="widget-title">',
        'after_title' =&gt; '</h2>'add_action( 'widgets_init', 'my_theme_widgets_init' );

Włączenie plików z zasadami stylu (style sheets) i skryptów

Poprawny sposób na włączenie zasobów to… wp_enqueue_style()wp_enqueue_script() Funkcje, które są montowane… wp_enqueue_scripts Na haczu.

function my_theme_scripts() {
    // 引入主样式表
    wp_enqueue_style( 'my-theme-style', get_stylesheet_uri(), array(), wp_get_theme()->get('Version') );

// 引入自定义 JavaScript 文件
    wp_enqueue_script( 'my-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), wp_get_theme()->get('Version'), true );

// 如果评论功能开启且是单篇文章/页面,加载评论回复脚本
    if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
        wp_enqueue_script( 'comment-reply' );
    }
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

Cykły i tagi szablonów

“Cykły” to standardowy mechanizm w WordPressu służący do pobierania danych z bazy danych i wyświetlania ich na stronie. Zrozumienie i poprawne używanie cykli stanowi podstawę dla dynamicznego generowania treści.

Struktura standardowego cyklu

W plikach szablonów często spotykasz struktury kodu podobne do tej poniżej – to właśnie główny cykl w WordPress.

Polecamy lekturę. Podróż od poznania podstaw do doskonałości w tworzeniu tematów dla WordPress: jak stworzyć własną tematę od zera

<article id="post-<?php the_ID(); ?>" no numeric noise key 1008>
            <header class="entry-header">
                <h2 class="entry-title"><a href="/pl/</?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            </header>
            <div class="entry-content">
                <p><strong>Treść artykułu</strong>: <p><strong>Dzięki za komentarz!</strong></p>
            </div>
        </article>
    
    <p><p><strong>Przepraszamy, ale nie znaleziono żadnych wyników.</strong></p></p>
<?php endif; ?>

have_posts()the_post() Funkcje kontrolują przebieg cyklu.the_title(), the_content(), the_permalink() Tagi typu „<%%〉“ są używane do wyświetlania konkretnych informacji o aktualnym artykule. Poza cyklem można je wykorzystać w dowolnym miejscu kodu. is_home(), is_single(), is_page() Tagi warunkowe są używane do ustalenia typu aktualnej strony, aby następnie wykonać odpowiednią logikę.

Dzielnice zapytów i cykły

Czasami konieczne jest wyświetlenie treści poza głównym cyklem, na przykład artykułów z określonej kategorii na główniej stronie. W takich przypadkach można użyć odpowiednich mechanizmów. WP_Query Klasy są używane do tworzenia własnych zapytań.

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.
<?php
$custom_query = new WP_Query( array(
    'category_name' => 'featured',
    'posts_per_page' => 3,
) );
if ( $custom_query->have_posts() ) :
    while ( $custom_query->have_posts() ) : $custom_query->the_post();
        // 输出文章内容...
    endwhile;
    wp_reset_postdata(); // 重置全局 $post 数据
endif;
?>

Podsumowanie.

Rozwoj tematu WordPress od zera to złożony proces, który obejmuje cały cykl prac: przygotowanie środowiska, planowanie struktury, implementację funkcji oraz wyświetlanie dynamicznego zawartości. Kluczowym elementem jest zrozumienie mechanizmu hierarchii szablonów, który decyduje o logice renderowania stron; niezbędna jest również biegła znajomość narzędzi i technik stosowanych przy tworzeniu tematów. functions.php Rozszerz funkcje temy i opanuj “cykły” jako podstawowy element do generowania danych. Dodróżniając standardy kodowania i zalecenia WordPress (np. poprawne włączanie zasobów, używanie funkcji tłumaczeniowych, dodawanie wystarczającej pomocy dla użytkowników), zapewnisz, że twoja tema będzie solidna, wydajna i łatwa w obsłudze. Praktykując kroki opisane w tym przewodniku, zdołasz stworzyć własną temę o jasnej strukturze i pełnym spektrum funkcji, co położy solidne fundamenty dla dalszego rozwoju twoich projektów.

FAQ – najczęściej zadawane pytania.

Jakie kluczowe technologie należy opanować, aby rozwijać tematy dla WordPress?

Musisz opanować podstawy PHP (do obsługi logiki i szablonów na stronie serwera), HTML/CSS (do tworzenia struktury i stylu) oraz JavaScript (do realizacji interakcji na stronie). Najważniejsze jest zrozumienie kluczowych conceptów WordPressa, takich jak hierarchia szablonów, „hooki” (hooks), akcje (Actions) i filtry (Filters), cykły (The Loop), a także różne funkcje i klasy dostępne w WordPressie.

Jak zrobić, aby moja tematyczna strona obsługiwała edytore typu Gutenberg?

Najpierw… functions.php Użyj tego w Chinach. add_theme_support() Uaktywuj odpowiednie funkcje, na przykład… editor-stylesalign-wide Ponadto istnieje panel do personalizowania kolorów. Następnie należy stworzyć specjalny plik z zasadami stylu (stylesheet) dla edytora i włączyć go do jego funkcji. add_editor_style() Zaimplementuj funkcje, aby zapewnić, że wizualny wygląd edytora w tle będzie zgodny z wyglądem edytora na stronie frontowej. Możesz także tworzyć własne style bloków (Block Styles) lub kustomizowane bloki (Custom Blocks), aby uzyskać bardziej rozwinięte możliwości edycji.

Jak zrealizować wsparcie dla wielu języków w ramach rozwoju aplikacji lub projektu?

WordPress wykorzystuje framework GNU gettext do realizacji procesu internacionalizacji (i18n). W kodzie wszystkie teksty, które wymagają tłumaczenia, muszą być umieszczone wewnątrz specjalnych funkcji. () Znajduje zastosowanie do tłumaczeń w PHP._e() Znacznie skrócony tekst: „Wykorzystywany do tłumaczeń i bezpośredniego wyświetlania.”esc_html() Służy do tłumaczenia i escapeowania kodu HTML. W JavaScriptie jest używany w taki sposób… wp.i18n.__()Następnie, za pomocą narzędzi takich jak Poedit wydobądź ten tekst i stwórz pliki w formacie .pot, a potem przetłumacz je na pliki w formatach .po i .mo. Na koniec… style.css Górna część została poprawnie ustawiona. Text Domain I… functions.php Użyj tego w Chinach. load_theme_textdomain() Zapewnia się ładowanie pliku z tłumaczeniami.

Jak dodać niestandardową stronę ustawień do mojego motywu?

Dla prostych opcji można skorzystać z wbudowanej w WordPress API “Customizer”, która oferuje intuicyjny interfejs do przeglądania zmian w czasie rzeczywistym. W przypadku bardziej złożonych wymagań można stworzyć interfejs konfiguracji bazowany na stronach z opcjami (Options Pages). Zaleca się używać API WordPress Settings do bezpiecznego rejestracji, weryfikacji i zapisu ustawień. Można również wykorzystać takie biblioteki zewnętrzne, jak Advanced Custom Fields (ACF) lub Carbon Fields, które znacznie ułatwiają tworzenie własnych polów i stron z opcjami.