Przewodnik po rozwoju pluginów dla WordPressa: Stworzenie swojego pierwszego pluginu od zera

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

WordPress to najpopularniejszy na świecie system do zarządzania treścią, a jego wielka rozszerzalność jest w dużej mierze związana z jego architekturą bazującą na wtyczkach (plug-inach). Gdy okazuje się, że dostępne funkcje nie wystarczają do realizacji Twoich potrzeb, najlepszym rozwiązaniem jest stworzenie własnej wtyczki. To nie tylko pomaga rozwiązać konkretny problem, ale także daje doskonałą możliwość lepiej zrozumieć zasady działania samego WordPressa. Ten przewodnik pokazać ci, jak tworzyć pierwszą wtyczkę dla WordPressa – od przygotowania środowiska, przez pisanie kodu, aż po jej ostateczne opublikowanie.

Przygotowanie środowiska i narzędzi do rozwoju

Przed rozpoczęciem pisania kodu potrzebny jest odpowiedni środowisko rozwoju. To zapewni efektywność Twojego procesu rozwoju i będzie odpowiadać najlepszym praktykom stosowanym w WordPress.

Ustawienie środowiska rozwoju lokalnego

Najlepszym rozwiązaniem jest uruchomienie lokalnego środowiska serwera na swoim komputerze. Możesz użyć narzędzi takich jak XAMPP, MAMP (dla Mac) lub WAMP (dla Windows), a także bardziej wydajnego Dockera. Te pakety zawierają serwer Apache, bazę danych MySQL oraz język programowania PHP, co umożliwia perfektną simulację warunków działania WordPressa w środowisku online. Po instalacji lokalnego serwera pobierz najnowszą wersję WordPressa z oficjalnej strony WordPress.org i konfiguruj ją według standardowego proceduru “5 minut instalacji”.

Polecamy lekturę. Przewodnik po rozwoju pluginów dla WordPress: jak stworzyć swój pierwszy funkcjonalny plugin z niczego

Edytory kodu i niezbędne narzędzia

Potężny edytor kodu jest niezbędny. Visual Studio Code, PhpStorm lub Sublime Text to doskonałe wybory – oferują wyróżnianie gramatycznego kodu, inteligentne sugestie oraz funkcje debugowania. Ponadto potrzebny jest także system kontroli wersji, np. Git, aby zarządzać zmianami w kodzie. Choć pierwszy z dodatków (pluginów) może być prosty w obsłudze, nawyk stosowania systemu kontroli wersji jest kluczowy dla dalszego rozwoju projektó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.

Stworz swoj pierwszy plik z rozszerzeniem (plugin).

Każdy plugin do WordPressu rozpoczyna się od jednego głównego pliku, który zawiera informacje w postaci komentarzy typu „header”, niezbędne dla rozpoznania pluginu przez system WordPress.

Struktura głównego pliku wtyczki

W katalogu zainstalowanego na lokalnym komputerze WordPressu wejdź do folderu zawierającego pliki konfiguracji.wp-content/pluginsfolder. Tworz tu nowy folder o nazwie …my-first-plugin(Nazwa musi być krótka i opisująca funkcję pluginu.) W tym folderze utwórz plik PHP, który zwykle ma taką samą nazwę jak folder:my-first-plugin.phpTen plik będzie punktem wejścia do pluginu.

Napisz informacje o nagłówku wtyczki.

Na początku tego pliku głównego musisz dodać komentarz z informacjami o pluginie, zgodny z standardami WordPress. Ten komentarz zawiera podstawowe dane o pluginie. Poniżej jest przykład najprostszego takiego komentarza:

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习的简单WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Ten kod stanowi “dowód tożsamości” pluginu.Plugin NameTo pole obowiązkowe – decyduje o nazwie pluginu, która będzie wyświetlana w interfejsie administracyjnym WordPress. Zaleca się również uzupełnić inne informacje, takie jak opis i numer wersji. Po zapisaniu pliku wejdź na stronę “Pluginy” w panelu administracyjnym WordPress i powinien pojawić się plugin “Moje pierwsze pluginy” w liście pluginów; możesz go wtedy aktywować. Na razie nie ma on żadnych funkcji.

Polecamy lekturę. Pełny przewodnik po tworzeniu pluginów dla WordPressa: stworzenie swojego pierwszego funkcjonalnego pluginu od zera

Dodanie podstawowych funkcji do pluginu

Po aktywacji wtyczki dodamy do niej dwa najbardziej podstawowe funkcje: umożliwimy dodawanie dowolnego tekstu na końcu treści artykułu oraz stworzymy prostą stronę zarządzania.

Używanie „haków” do modyfikacji treści artykułu

Podstawowym mechanizmem WordPress jest system “hooków” (Hooks), który umożliwia wstawianie własnego kodu w określone momenty. Hooki akcji (Action Hooks) są używane do wykonywania określonych działań, natomiast hooki filtrów (Filter Hooks) służą do modyfikacji danych. Chcemy dodać jeden tekst na końcu treści artykułu, a to wymaga użycia hooków.the_contentTen filtr hook.
Poniżej komentarza umieszczonego na początku pliku z twoim głównym pluginem, dodaj następującą funkcję i hook:

// 在文章内容末尾添加自定义文本
function myfp_add_footer_text( $content ) {
    // 仅在主循环的单篇文章页面添加
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $custom_text = '<p><em>Dziękujemy za czytanie! Ten tekst został wygenerowany przez “Moje pierwsze dodatkowe narzędzie” („My First Plugin”).</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
// 将函数挂载到‘the_content’过滤器上
add_filter( 'the_content', 'myfp_add_footer_text' );

Po zapisaniu pliku należy odnowić stronę artykułu na frontendzie witryny internetowej – wtedy ujrzysz dodany tekst na dole treści artykułu. W tym kodzie…myfp_add_footer_textFunkcja przyjmuje dane w oryginalnym formacie.$contentPo sprawdzeniu warunków strony do jej treści dodano tekst ustalonego własnie segmentu HTML, a na koniec został zwrócony zmieniony tekst.add_filter()Funkcja umożliwia powiązanie naszej własnej funkcji z filtrami podstawowymi WordPress.

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%

Stworzenie prostego menu zarządzania

Następnie utworzymy stronę ustawień dla tego pluginu w panelu administracyjnym WordPress. To wymaga użycia „hooków akcji” (action hooks), aby dodać nowy element do menu administracyjnego. Dodaj następujący kod:

// 在后台管理菜单中添加一个新页面
function myfp_add_admin_menu() {
    add_menu_page(
        '我的第一个插件设置', // 页面标题
        '我的插件',           // 菜单标题
        'manage_options',     // 所需权限
        'my-first-plugin',    // 菜单slug
        'myfp_admin_page_html', // 用于输出页面内容的回调函数
        'dashicons-admin-generic', // 图标(可选)
        100                   // 菜单位置
    );
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );

// 定义管理页面的HTML内容
function myfp_admin_page_html() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
        <p>Witaj na stronie ustawień “Mojego pierwszego pluginu”. To właśnie jest początek!</p>
    </div>
    &lt;?php
}

Zapisz zmiany i odśwież stronę administracyjną WordPress. Powinien pojawić się nowy punkt menu “Moje pluginy” w dolnej części lewego menu. Kliknij na niego, aby otworzyć prostą stronę z ustawieniami.add_menu_page()Funkcja jest odpowiedzialna za rejestrację najwyższego poziomu menu (strony menu głównego).myfp_admin_page_html()Funkcja jest odpowiedzialna za renderowanie zawartości HTML tej strony.

Bezpieczeństwo wtyczek i optymalizacja kodu

Podczas tworzenia dodatków (pluginów) bezpieczeństwo i łatwość konserwacji są aspektami, które należy uwzględnić od samego początku.

Polecamy lekturę. Zaczynamy od zera: dlaczego warto wybrać tworzenie wtyczek do WordPressa?

Weryfikacja danych i escape

Nigdy nie powinniśmy ufać danym wprowadzonym przez użytkowników ani danym z zewnętrznych źródeł. Każdy element danych, przed jego wyświetleniem w przeglądarcu lub zapisem do bazy danych, musi zostać sprawdzony i przetworzony. WordPress oferuje wiele funkcji pomocniczych w tym celu. Na przykład, gdy chcemy wyświetlić wartość zmiennej w atrybutach HTML, należy użyć odpowiednich funkcji dostępnych w frameworku WordPress.esc_attr()Gdy wynik jest wyświetlany w formie tekstu HTML, należy użyć znacznika

.esc_html()Gdy wynik jest wysyłany do adresu URL, należy użyćesc_url()W wcześniejszym…myfp_admin_page_html()W funkcji użyliśmy…esc_html()Wyświetlaj tytuł strony w bezpieczny sposób.

Używaj klas do organizacji kodu.

Wraz z rosnącą liczba funkcji w pluginach umieszczenie wszystkich z nich w globalnym przestrzeniu nazw może doprowadzić do konfliktów i chaosu. Dobrą praktyką jest używanie klas w PHP do pakowania funkcji pluginów. To poprawia organizację kodu, jego czytelność oraz możliwość powtórnego użycia. Poniżej znajduje się podstawowy szablon, jak można przepisać wcześniejsze funkcje w formie klas:

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.
class My_First_Plugin {
    // 构造方法,用于初始化钩子
    public function __construct() {
        add_filter( 'the_content', array( $this, 'add_footer_text' ) );
        add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
    }

public function add_footer_text( $content ) {
        // ... 函数实现同上 ...
    }

public function add_admin_menu() {
        // ... 函数实现同上 ...
    }

public function admin_page_html() {
        // ... 函数实现同上 ...
    }
}
// 实例化插件类
new My_First_Plugin();

Taki sposób umożliwia łączenie wszystkich powiązanych metod i atrybutów w jednym obiekcie, co sprawia, że struktura jest bardziej jasna i zrozumiała.

Podsumowanie.

Dzięki temu poradnikowi udało ci się wykonać najważniejsze kroki przy tworzeniu pluginu dla WordPressa od zera: przygotować środowisko, stworzyć plik pluginu zawierający standardowe informacje, dodawać funkcje do treści artykułów za pomocą aktywnych (action hooks) i filtrów (filter hooks), a także przygotować interfejs administracyjny. Poza tym poznasz także znaczenie bezpieczeństwa i organizacji kodu. To tylko początek – świat rozwoju pluginów dla WordPressa jest bardzo szeroki – możesz eksplorować takie zaawansowane funkcje, jak shortcode’y, widgety, klasyczne typy artykułów (Custom Post Types) oraz punkty końcowe API typu REST. Pamiętaj, że czytanie źródłowego kodu, oglądanie przykładów realizacji dobrych pluginów oraz korzystanie z oficjalnych dokumentacji dla developerów to najlepsze sposoby na ciągłe doskonalenie swoich umiejętności.

FAQ – najczęściej zadawane pytania.

Jakie techniki należy opanować, aby rozwijać plugi (plugi)?

Aby rozwijać plagiaty dla WordPressa, konieczne jest posiadanie podstawowych znajomości języków PHP, HTML, CSS i JavaScript. PHP odgrywa kluczową rolę, ponieważ sam WordPress jest napisany w tym języku, więc właśnie nim należy tworzyć logikę plagiatów. HTML/CSS są używane do budowy interfejsu użytkownika, a JavaScript (zwłaszcza jQuery oraz najnowsze wersje standardu ES6+) pomaga zwiększyć interaktywność strony i realizować żądania typu AJAX. Podstawowe znania z MySQL również są przydatne przy obsłudze danych.

Dlaczego mój plugin nie jest wyświetlany w tle (w obszarze działania aplikacji)?

Najpierw sprawdź, czy główny plik wtyczki znajduje się w następującym miejscu: 1.wp-content/pluginsW osobnym folderze w katalogu. 2. Komentarz w nagłówku wtyczki głównego pliku (zwłaszczaPlugin Name:Czy format jest poprawny? 3. Czy kodowanie pliku to UTF-8 bez znaku BOM? 4. Czy występują błędy gramatyczne, które mogą uniemożliwić interpretację kodu PHP? Można to sprawdzić w logach debugowania WordPress.wp-config.phpWłączyćWP_DEBUG)。

Jak testować dodatek (plugin) bez wpływu na działanie witryny internetowej?

Zdecydowanie zaleca się rozwijać i testować plugi w lokalnym środowisku rozwoju (np. Local by Flywheel, XAMPP) lub na oddzielnym serwerze testowym (Staging Site). Nigdy nie testuj nowych, niezweryfikowanych plugów bezpośrednio na produkcyjnym serwerze, na którym znajdują się ważne dane. Korzystaj z narzędzi do zarządzania wersjami kodu (np. Git), aby w łatwy sposób móc cofnąć zmiany w przypadku wystąpienia problemów.

Jak należy aktualizować wersję pluginu?

Powinnoś to zrobić w komentarzu umieszczenym na początku głównego pliku pluginu.Version:Pola. W przypadku większych aktualizacji zaleca się stosowanie semantycznego kontrolowania wersji (SemVer): naprawienie błędów powinno być odnotowane poprzez dodanie numeru poprawki (np. 1.0.1), nowe funkcje kompatybilne z wcześniejszymi wersjami powinny mieć dodatkowy numer wersji (np. 1.1.0), a niekompatybilne aktualizacje powinny mieć większy numer wersji (np. 2.0.0). Można też wdrożyć mechanizmy detekcji aktualizacji (np. przechowywanie informacji o pluginach na własnym serwerze lub w katalogu pluginów WordPress), aby użytkownicy otrzymywali powiadomienia o aktualizacjach w tle.

Jakie są wymagania, by opublikować dodatek w oficjalnym katalogu?

Aby złożyć plik rozszerzenia do oficjalnego katalogu plików rozszerzeń WordPress.org, należy spełnić następujące warunki: kod pliku rozszerzenia musi być kompatybilny z licencją GPLv2 lub wyższą; jakość kodu musi być na odpowiednim poziomie, zgodnie z „Standardami kodowania WordPress”; funkcje pliku muszą być uniwersalne i praktyczne, a nie dedykowane wyłącznie określonemu serwisowi internetowemu; plik nie może zawierać żadnego złańcucha ani kodu szkodliwego. Przed złożeniem pliku koniecznie sprawdź dokładne instrukcje i wymagania w „Centrum dla programistów” na stronie oficjalnego katalogu.