Od zera do jednego: pokazujemy ci, jak opanować kluczowe umiejętności przy tworzeniu pluginów dla WordPress.

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

Życzymy przyjścia do wspaniałego świata rozwoju dodatków (pluginów) dla WordPressa. Jako najpopularniejszy na świecie system do zarządzania treścią WordPress charakteryzuje się wielką rozszerzalnością, a dodatki stanowią klucz do osiągnięcia tego celu. Niezależnie od tego, czy chcesz stworzyć rozwiązanie dla konkretnej funkcji lub zamierzasz przekształcić swoje pomysły w produkt, który będzie dostępny dla innych, umiejętność programowania dodatków to niezwykle cenna umiejętność. Ten tekst pokieruje cię od przygotowania najprostszego środowiska rozwoju aż po stworzenie pierwszego dodatku z pełną funkcjonalnością.

Podstawowa struktura i zasady działania pluginów dla WordPressa

Przed zaczęciem pisania kodu istotne jest zrozumienie struktury pluginu oraz sposobu jego działania w WordPress. Plugin w istocie składa się z jednego lub kilku plików w formacie PHP, które interagują z podstawowym systemem WordPress za pomocą API (Application Programming Interface) dostępnego w tym systemie.

Podstawowy plik wtyczki

Każdy plugin musi mieć jeden główny plik. Ten plik zwykle nosi nazwę pluginu. my-first-plugin.phpNa początku tego pliku musi znajdować się specjalna komenda do opisania nagłówka pluginu. WordPress używa tych informacji, by rozpoznać i wyświetlić plugin.

Polecamy lekturę. Pełny przewodnik po rozwoju pluginów dla WordPress: od zera do doskonałej znajomości praktycznych aspektów

<?php
/**
 * Plugin Name: 我的第一个插件
 * Plugin URI:  https://example.com/my-first-plugin
 * Description: 这是一个用于演示的简单WordPress插件。
 * Version:     1.0.0
 * Author:      开发者名称
 * License:     GPL v2 or later
 */

Ten tekst opisuje metadane pliku z komentarzami, które określają nazwę, opis, wersję oraz inne informacje o pluginie w interfejsie administracyjnym WordPressa. Bez tych informacji WordPress nie byłby w stanie rozpoznać tego pluginu.

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.

Mechanizm „haków” („hooks”): most pomiędzy pluginami a core’em

Podstawowym motywem rozwoju WordPress jest system “hooków” (Hooks), który umożliwia dodatkowym modułom (plug-inom) włączenie swojego kodu w określone momenty, aby zmienić lub rozszerzyć standardową funkcjonalność platformy. Hooki są głównie podzielone na dwa typy: akcje (Actions) i filtry (Filters).

Aktywnie działające „haki” (ang. action hooks) umożliwiają wykonywanie własnego kodu w momencie wydarzenia określonego – na przykład po opublikowaniu artykułu, po logowaniu użytkownika lub przed naładowaniem strony. Możesz je wykorzystać do realizacji różnych zadań, np. automatycznego wysyłania wiadomości, aktualizowania danych w bazie danych czy wykonywania innych proced add_action() Funkcja służy do montowania twojej funkcji.

Filtry hooki umożliwiają modyfikację danych. Możesz je przekierować i zmienić, zanim zostaną wysłane do bazy danych lub do przeglądarza. To jest możliwe dzięki… add_filter() Funkcje są implementowane w taki sposób, że zrozumienie i biegłe korzystanie z tych dwóch typów „haków” (hooków) stanowi podstawę do rozwijania zaawansowanych pluginów.

Ustawienie środowiska rozwoju i pierwszy plugin

Przed rozpoczęciem kodowania niezbędne jest posiadanie sprawdzonego środowiska rozwoju lokalnego. Dzięki temu możesz swobodnie testować i debugować aplikację, nie wpływając na działanie witryny online.

Polecamy lekturę. Przewodnik techniczny po całym procesie budowy witryny internetowej: od zera do uruchomienia w praktyce oraz strategie optymalizacji

Konfiguracja środowiska rozwoju lokalnego

Zaleca się korzystać z zintegrowanych rozwiązań bazujących na lokalnych serwerach, takich jak Local by Flywheel, XAMPP lub MAMP. Te narzędzia umożliwiają jednorazową instalację niezbędnych elementów środowiska: PHP, MySQL oraz serwera webowego wymaganych do działania WordPress. Po zakończeniu instalacji stworz kopię witryny WordPress przeznaczoną do rozwoju dodatków (pluginów).

Stworz i aktywuj prosty plugin.

Na twoim lokalnym serwisie WordPress… wp-content/plugins W katalogu utwórz nowy folder, na przykład nazwany „new_folder”. my-first-pluginW tej folderze utwórz plik główny. my-first-plugin.phpI zapisz to w komentarzach na początku pliku z pluginem, o którym mowa powyżej.

Po zapisaniu pliku loguj się do panelu administracyjnego WordPress i wejdź do menu “Dodatki”. Powinien pojawić się element “Moje pierwsze dodatko” w liście dostępnych dodatków. Kliknij na “Włączyć”, a twoje pierwsze dodatko zostanie uruchomione! Choć na razie nie ma żadnych funkcji, udało ci się stworzyć podstawową strukturę dodatku.

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%

Rozwijanie kluczowych funkcji oraz stosowanie standardów bezpieczeństwa

Sens istnienia jakiegoś dodatku (pluginu) tkwi w jego funkcjonalności. Dajmy temu dodatku dodatkową, prostą, ale przydatną funkcję: automatycznego dodawania ustalonego tekstu na końcu treści artykułu.

Użyj filtrów do modyfikacji treści artykułu.

Wykorzystamy to. the_content „Filter hook”. W głównym pliku swojego pluginu dodaj następujący kod:

function myplugin_add_text_to_content( $content ) {
    // 检查是否为单篇文章页面
    if ( is_single() ) {
        $custom_text = '<p><em>Dziękujemy za czytanie! Ten tekst został dodany przez moje pierwsze rozszerzenie (plugin).</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
add_filter( 'the_content', 'myplugin_add_text_to_content' );

Ten kod definiuje funkcję. myplugin_add_text_to_contentPrzyjmuje treść artykułu. $content Jako parametr. Wewnątrz funkcji jest używany. is_single() Tagi do sprawdzania warunków umożliwiają dodawanie tekstu tylko na stronie pojednego artykułu. Na koniec… add_filter() Zmontuj tę funkcję… the_content Tekst dodany zostanie po zastosowaniu filtrów. Zapisz plik i odśwież stronę artykułu na blogu, a wtedy ujrzysz dodany tekst.

Polecamy lekturę. Pomogę ci krok po kroku zbudować profesjonalną stronę internetową na platformie WooCommerce, startując od zera.

Podstawowe kryteria oceny bezpieczeństwa pluginów

Bezpieczeństwo to najważniejszy aspekt przy rozwijaniu dodatków (pluginów). Nigdy nie możesz bezmyślnie ufać wprowadzonym przez użytkowników danym ani danym pochodzącym z witryny internetowej.
1. Wykonanie escape: Przed wyświetleniem jakichkolwiek danych w przeglądarcu konieczne jest ich wykonanie, aby zapobiec atakom typu XSS (Cross-Site Scripting). WordPress oferuje narzędzia do tego celu. esc_html(), esc_attr(), esc_url() Pomocne funkcje itp.
2. Weryfikacja i przygotowanie wprowadzonych danych: Dane otrzymane z formularzy użytkowników lub parametrów URL muszą zostać sprawdzone (sprawdzenie poprawności formatu) i przygotowane (usunięcie nielegalnych znaków) przed ich użyciem. Do tego celu można skorzystać z funkcji takich jak… sanitize_text_field()
3. Bezpieczeństwo: Jeśli twoje wtyczka obejmuje modyfikację danych (np. zapisy ustawień), konieczne jest używanie mechanizmu „Nonce” w WordPress, aby sprawdzić intencję żądania i zapobiec atakom typu CSRF (Cross-Site Request Forgery).

Dodaj interfejs zarządzania dla pluginu.

Większość dodatków wymaga strony z ustawieniami, którą użytkownik może konfigurować. Stworzymy prostą stronę z opcjami, umożliwiającą użytkownikowi dostosowanie tekstu, który ma zostać dodany na końcu 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.

Tworzenie menu i stron zarządzania

Możemy to użyć. add_menu_page()add_options_page() Funkcja służy do dodawania elementu menu do backendu WordPress. Niżej podany kod dodaje stronę opcji znajdującą się w podmeniu “Ustawienia”:

function myplugin_add_admin_menu() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的插件',              // 菜单标题
        'manage_options',        // 所需权限
        'myplugin-settings',     // 菜单Slug
        'myplugin_render_settings_page' // 用于渲染页面的回调函数
    );
}
add_action( 'admin_menu', 'myplugin_add_admin_menu' );

Następnie musimy definiować funkcję zwrotną (callback function). myplugin_render_settings_page Następnie przygotuję kod HTML dla strony konfiguracji oraz logikę związaną z zapisywaniem danych z formularza. Na stronie należy używać API do konfiguracji WordPress (Settings API) w celu bezpiecznego obsługi ustawień. Jednak jako przykład dla początkujących przedstawiam uproszczone wersję kodu:

function myplugin_render_settings_page() {
    ?&gt;
    <div class="wrap">
        <h2>Ustawienia mojej wtyczki.</h2>
        <form action="/pl/options.php/" method="post" data-trp-original-action="options.php">
            <?php settings_fields( 'myplugin_settings_group' ); ?>
            <label for="custom_text">Tekst dostosowany:</label><br/>
            <textarea id="custom_text" name="myplugin_custom_text" rows="4" cols="50"><?php echo esc_textarea( get_option( 'myplugin_custom_text' ) ); ?></textarea>
            <p class="submit">
                <input type="submit" name="submit" class="button-primary" value="Zapisz zmiany." />
            </p>
        <input type="hidden" name="trp-form-language" value="pl"/></form>
    </div>
    &lt;?php
}

Udostępnij opcję rejestracji, konfiguruj ustawienia i przetwarzaj dane.

Musimy zarejestrować opcję ustawienia i upewnić się, że zostanie bezpiecznie zapisana. To zwykle odbywa się podczas inicjalizacji wtyczki (pluginu).

function myplugin_register_settings() {
    register_setting(
        'myplugin_settings_group', // 设置分组
        'myplugin_custom_text',    // 选项名称
        'sanitize_textarea_field'  // 清理回调函数
    );
}
add_action( 'admin_init', 'myplugin_register_settings' );

Na koniec należy zmienić funkcję dodawania treści artykułów, aby pobierała dane z bazy danych. myplugin_custom_text Odczytuje tekst zapisany przez użytkownika, zamiast używać tekstu ustawionego w kodzie źródłowym.

Podsumowanie.

Ten tekst pokazał ci, jak rozwijać pluginy dla WordPress, od zera do poziomu “profesjonalnego”. Zaczęliśmy od zrozumienia podstawowej struktury pluginów oraz mechanizmu hooków w jądrze WordPress, po czym stopniowo przygotowaliśmy środowisko do lokalnego rozwoju, stworzyliśmy i aktywowaliśmy pierwszy plugin. Następnie, na przykładzie dodawania tekstu do artykułów, nauczyliśmy się, jak używać filtrów, a także zaznaczyliśmy istotne aspekty bezpieczeństwa. Na koniec dodaliśmy do pluginu stronę konfiguracji, którą można dostosować według potrzeb.

Po opanowaniu tych podstawowych umiejętności masz już fundamenty do dalszego eksplorowania rozwoju pluginów na wyższym poziomie. Następnie możesz zgłębić tematy takie jak tworzenie własnych typów artykułów, metadanych (Meta Box), skrótów kódu (Shortcode), punktów końcowych API typu REST oraz wywoływania funkcji za pomocą Ajax, aby tworzyć bardziej złożone i wydajne pluginy do WordPress.

FAQ – najczęściej zadawane pytania.

Jakie są wymagane przedstawionej wiedzy, aby rozwijać plugi?

Konieczne jest posiadanie podstawowych znanych z języka programowania PHP, ponieważ serce WordPressa oraz jego dodatki są napisane w tym języku. Wiedza o HTML, CSS i podstawach JavaScriptu będzie również przydatna, szczególnie gdy potrzebujesz tworzyć interfejsy użytkownika. Dobrze zrozumienie podstawowych zasad baz danych MySQL będzie dodatkowym atutem.

Jak debugować kod mojego pluginu?

Najczęściej używanym metodą debugowania w rozwoju WordPress jest włączenie funkcji debugowania w samym systemie. WP_DEBUGMożesz to zrobić na stronie internetowej. wp-config.php W dokumencie zostanie przedstawiony define(‘WP_DEBUG’, true); Zmienić wartość w tej linii na… trueTo umożliwi wyświetlenie wszystkich błędów, ostrzeżeń i informacji o problemach z PHP na ekranie, a także zapisanie ich do pliku logów. Ponadto… error_log() Funkcja umożliwia wyświetlenie informacji o zmiennych w logu błędów serwera, co jest również bardzo przydatnym narzędziem do debugowania.

Jak moje dodatkowe narzędzie (plugin) ma obsługiwać kilka języków?

Aby Twoja wtyczka była dostępna w różnych językach, musisz użyć funkcji tłumaczeniowych dostępnych w WordPress. __()_e()Nie mogę udostępnić żadnego konkretnego kodu lub instrukcji, ponieważ nie wiem, w jakim kontekście jest to potrzebne. Możliwe, że chodzi o formatowanie tekstów w języku programowania lub o tworzenie plików z danymi w określonym formacie. Jeśli masz konkretne wymagania lub informacje, które pomogą mi lepiej zrozumieć twoje pytanie, proszę podaj je. .pot Pliki szablonów, które umożliwiają twórcy tłumaczeń tworzenie tekstów w różnych językach. .po.mo Plik. Na koniec, użyj go w głównym pliku pluginu. load_plugin_textdomain() Funkcja do ładowania plików tłumaczeniowych.

Po zakończeniu rozwoju, jak złożyć plugin do oficjalnego katalogu?

Najpierw upewnij się, że twoje wtyczki w pełni spełniają wymogi standardów kodowania oficjalnych WordPress oraz licencji GPL. Następnie zgłoś chęć utworzenia repozytorium SVN dla twoich wtyczek na stronie WordPress.org. Do tego potrzebny będzie narzędzie SVN, aby móc przesyłać kod swoich wtyczek do tego repozytorium. /trunk Katalog. Ponadto, przygotuj materiały wysokiej jakości. readme.txt Zrzuty ekranu plików, wtyczek oraz ikon. Po złożeniu wniosku zespół ds. audycji oficjalnych plików sprawdzi twoją wtyczkę, a po jej przyjęciu będzie można ją publicznie udostępnić w oficjalnym katalogu.