Światowy przewodnik po tworzeniu pluginów dla WordPressa: Stwórz swoj pierwszy własny plugin od zera

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

Czemu warto wybrać rozwój pluginów dla WordPress?

WordPress stał się najpopularniejszym systemem zarządzania treścią na świecie dzięki swej wyjątkowej rozszerzalności, która jest w dużej mierze związana z jego architekturą modułów (pluginów). Poprzez tworzenie własnych modułów możesz dodać do swojego witryny każdą funkcję, jaką tylko zapragniesz, bez konieczności modyfikacji kodu źródłowego WordPress. To oznacza, że te funkcje działają niezależnie od wybranego tematu (theme) i nie są narażone na utratę po zmianie tematu. Co więcej, dobry moduł może rozwiązać konkretnie występujące problemy użytkowników lub stać się samodzielnym produktem lub usługą.

Opanowanie rozwoju pluginów oznacza, że przechodzisz z roli użytkownika WordPressa do roli twórcy. Bez względu na to, czy chcesz zrealizować indywidualne wymagania swojego projektu, czy chcesz zarabiać rozwijając komercyjne pluginy, zrozumienie podstawowych zasad i najlepszych praktyk w tej dziedzinie jest niezbędnym pierwszym krokiem. Ten przewodnik pokieruje cię od najprostszych elementów struktury pluginu, po stopniowe budowanie funkcjonalnego i standardowego produktu.

Stworzenie pierwszej struktury pluginu

Standardowy plugin WordPress to folder zawierający jeden lub kilka plików w formacie PHP, a w jego katalogu głównym musi znajdować się plik główny (main file). Ten plik musi zawierać określone informacje o pluginie, aby WordPress mógł go rozpoznać i zarządzać nim.

Polecamy lekturę. Naucz się tworzyć wtyczki do WordPressa: buduj skuteczne niestandardowe moduły funkcjonalne od podstaw.

Tworzenie głównego pliku pluginu

Pierwszą rzeczą, którą musisz zrobić, jest stworzenie głównego pliku pluginu. Ten plik zwykle nosi nazwę pluginu. Na przykład: my-first-plugin.phpNa początku tego pliku musisz dodać standardową komentarzową sekcję zawierającą informacje o pluginie.

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.
<?php
/**
 * Plugin Name:       我的第一个自定义插件
 * Plugin URI:        https://yourwebsite.com/my-first-plugin
 * Description:       这是一个用于学习的 WordPress 自定义插件示例。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://yourwebsite.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

Ten komentarz stanowi “dowód tożsamości” pluginu. W nim znajdują się informacje o jego funkcjach, zasadach działania oraz szczegółach implementacji. Plugin Name(Nazwa pluginu) to jedyny obowiązkowy polu; pozostałe pola służą do podania dodatkowych informacji. Strona “Pluginy” w panelu administracyjnym WordPressu odczyta te informacje i je wyświetli. Po stworzeniu tego pliku należy umieścić go w katalogu zainstalowanego WordPressa. /wp-content/plugins/ Plik znajduje się w folderze. Możesz bezpośrednio stworzyć podfolder o nazwie “my-first-plugin” i umieścić w niego plik główny. Teraz, po logowaniu do panelu administracyjnego WordPress, będziesz mógł go zobaczyć w liście dostępnych pluginów i aktywować. Choć na razie nie ma żadnych funkcji, właśnie postąpiłeś pierwszy krok na drodze do sukcesu.

Uorganizuj swoje pliki z dodatkami (plug-inami).

Wraz z rosnącą liczbą funkcji utrzymanie wszystkiego kodu w jednym głównym pliku staje się coraz trudniejsze. Dobra struktura organizacji plików jest kluczowa. Typowy plugin może zawierać następujące katalogi:
* /includes/Zawierają pliki z definicjami klasy oraz funkcji kluczowych.
* /admin/Zawierają pliki dotyczące interfejsu administracyjnego w tle (back-end).
* /public/Zawierają pliki z funkcjami frontendowymi, przeznaczone dla odwiedzających witrynę internetową.
* /assets/Zawiera statyczne zasoby takie jak JavaScript, CSS oraz zdjęcia.
* /languages/Miejsce na pliki z tłumaczeniami międzynarodowymi (.po/.mo).

Taka modułowa struktura nie tylko sprawia, że kod jest jasny i zrozumiały, ale także ułatwia współpracę w zespole oraz dalszą rozwój funkcji aplikacji. W głównym pliku… my-first-plugin.php W tym kontekście zwykle używasz… require_once Aby włączyć pliki z funkcjami znajdujące się w tych katalogach.

Zrozumienie kluczowych konceptów rozwoju WordPressa: hooków i filtrów

Podstawa rozwoju wtyczek dla WordPress jest mechanizmem zwanyym “hookami” (hooks). Dzięki temu twoj kod może zostać włączony do standardowego procesu wykonywania WordPress w określonych momencach, co umożliwia modyfikację lub dodawanie nowych funkcji. Hooki dzielą się na dwa typy: akcje (Actions) i filtry (Filters).

Polecamy lekturę. Naucz się programowania wtyczek do WordPressa od podstaw: wdrożenie zaawansowanych funkcji i przewodnik po najlepszych praktykach.

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

Aktywnie działające „hooki” (ang. action hooks) umożliwiają wykonywanie Twoich własnych funkcji w określonym momencie podczas działania WordPress. Na przykład chcesz wykonać jakąś operację w momencie opublikowania artykułu lub dodać menu do boku panelu administracyjnego.

Poniżej jest prosty przykład wykorzystania tego sposobu: wp_footer Ten „hook” akcji wyświetla informację w publicznej części strony internetowej, w nagłówku (footer). Musisz dodać następujący kod do głównego pliku swojego pluginu.

Funkcja myplugin_add_footer_text() {
    echo '<p style="text-align:center;">Dziękuję, że korzystasz z mojego pierwszego pluginu!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' );

Tutaj,myplugin_add_footer_text To funkcja, którą sami definiowaliśmy.add_action() Funkcja “przypisuje” tę inną funkcję do… wp_footer Ta akcja jest powiązana z hookiem. Gdy WordPress przepisuje kod odpowiedzialny za część nagłówka strony („header”), nasza funkcja zostanie automatycznie wywołana.

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%

Można zmienić zawartość za pomocą hooków filtrów.

W odróżnieniu od aktywnych hooków (action hooks), filtry służą do modyfikacji danych. Twoja funkcja otrzymuje wartość wejściową, po jej przetworzeniu musi zwrócić odpowiednią wartość. Na przykład: można zmienić nagłówek artykułu lub sposób wyświetlania jego treści.

Poniższy przykład pokazuje, jak to zrobić. the_content Filtr: automatycznie dodaje tekst wybrany przez użytkownika na końcu wszystkich artykułów i treści stron.

function myplugin_append_to_content( $content ) {
    $custom_text = '<div class="myplugin-note"><p><em>Ten tekst został ulepszony i wyświetlony dzięki mojemu własnoręcznie skonstruowanemu dodatku (pluginowi).</em></p></div>';
    // 仅在主循环的单篇文章页面添加
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        return $content . $custom_text;
    }
    return $content;
}
add_filter( 'the_content', 'myplugin_append_to_content' );

funkcja myplugin_append_to_content Przyjmuj oryginał. $contentPoprzez warunkowe sprawdzenie upewniamy się, że tekst jest dodawany tylko w miejscach, gdzie to jest konieczne, a potem powracamy z zmienionym zaworem.add_filter() Funkcja zakończyła proces rejestracji.

Polecamy lekturę. Od podstaw do zaawansowanych technik tworzenia wtyczek WordPress: budowanie niestandardowych funkcji i efektywnej ekspansji.

Stworzenie strony zarządzania dla pluginu

Większość dodatków wymaga strony konfiguracji, aby użytkownicy mogli ustawiać różne opcje. WordPress oferuje bogate API, które umożliwia tworzenie estetycznych i standardowych interfejsów administracyjnych.

Dodaj menu zarządzania na najwyższym poziomie.

Możesz dodać nowy element menu najwyższego poziomu do lewej nawigacji w panelu administracyjnym WordPressa dla swojego pluginu. To można zrobić w następujący sposób: add_menu_page() Implementacja funkcji to proces realizacji zadań określonych przez daną funkcję. Zwykle to robimy w ramach programowania, używając odpowiednich języków programowania i narzędzi. admin_menu W tym hooku akcji jest wywoływana ta funkcja.

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 myplugin_add_admin_menu() {
    add_menu_page(
        '我的插件设置', // 页面标签
        '我的插件',     // 菜单标题
        'manage_options', // 所需权限
        'myplugin-settings', // 菜单 Slug
        'myplugin_settings_page_html', // 显示页面内容的回调函数
        'dashicons-admin-generic', // 图标(可选)
        80 // 菜单位置(可选)
    );
}
add_action( 'admin_menu', 'myplugin_add_admin_menu' );

Utworzenie treści strony z ustawieniami

Teraz musimy definiować funkcję wywoływaną w nagraniu (callback function) z którego powyżej mowa. myplugin_settings_page_htmlZawartość HTML strony konfiguracji jest renderowana w taki sposób. Prostą wersję tego procesu można przedstawić następująco:

function myplugin_settings_page_html() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
        <form action="/pl/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段和非ce字段
            settings_fields( 'myplugin_options' );
            do_settings_sections( 'myplugin-settings' );
            submit_button( '保存设置' );
            ?>
        <input type="hidden" name="trp-form-language" value="pl"/></form>
    </div>
    &lt;?php
}

Ta funkcja tworzy formularz zgodny z wyglądem interfejsu administracyjnego WordPress. Aby pełnie obsługić ustawienia, konieczne jest także użycie innych elementów lub modułów. register_setting(), add_settings_section()add_settings_field() Można używać funkcji takich jak … (nazwy funkcji nie zostały podane) do definiowania konkretnych elementów ustawień. To stanowi kompletny proces pracy API “Settings API” i jest zalecany sposób na bezpieczne przechowywanie i pobieranie opcji pluginów.

Implementacja funkcji dodatku: statystyka liczby przeglądanych artykułów

Połączmy te koncepcje, aby stworzyć przydatną funkcję: sumującą i wyświetlającą liczbę wyświetleń każdego artykułu.

Tworzenie pol w bazie danych oraz przechowywanie danych

Najpierw musimy stworzyć miejsce na przechowywanie liczby wyświetleń artykułu w momencie jego opublikowania. Zwykle używamy funkcji post meta (metadanych artykułu) w WordPress. Możemy to zrobić w następujący sposób: add_post_meta Można użyć funkcji, ale bardziej elegancki sposób to sprawdzenie i aktualizowanie tego wartości w momencie, gdy artykuł jest wyświetlany.

function myplugin_track_post_views( $post_id ) {
    if ( ! is_single() ) {
        return;
    }
    if ( empty( $post_id ) ) {
        global $post;
        $post_id = $post->ID;
    }
    // 获取当前浏览次数
    $count = get_post_meta( $post_id, 'myplugin_post_views', true );
    // 如果为空,初始化为0
    $count = $count ? absint( $count ) : 0;
    $count++;
    // 更新数据库
    update_post_meta( $post_id, 'myplugin_post_views', $count );
}
// 在模板重定向时触发,确保只对真实访客计数
add_action( 'template_redirect', 'myplugin_track_post_views' );

Wyświetlanie liczby odwiedzin na stronie front-end.

Po zapisaniu danych potrzebujemy funkcji, która umożliwi ich pobranie i wyświetlenie. Możemy stworzyć krótki kod (shortcode), aby ułatwić użytkownikom jego wstawienie do treści artykułów lub elementów nawigacyjnych na bocowej stronie.

function myplugin_display_post_views_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        'id' =&gt; get_the_ID(),
    ), $atts, 'myplugin_views' );

$post_id = absint( $atts['id'] );
    $views = get_post_meta( $post_id, 'myplugin_post_views', true );
    $views = $views ? $views : 0;

return '<span class="myplugin-view-count">Uwzględnionych wyświetleń: '. esc_html($views)'. ’</span>'php
add_shortcode( 'myplugin_views', 'myplugin_display_post_views_shortcode' );

Teraz użytkownicy muszą tylko wpisać krótki kod w edytorze artykułów. [myplugin_views]Można też dodać dodatek typu “krótki kod” i wpisać ten kod, aby na stronie wyświetlono liczbę odwiedzin artykułu. Ten kompletny przykład pokazuje cały proces: przechowywania danych („haki”), ich pobierania oraz wyświetlania na stronie użytkownika („krótki kod”).

Podsumowanie.

Dzięki temu przewodnikowi udało ci się samodzielnie stworzyć własny plugin dla WordPressa, od początku do końca. Najpierw zapoznaliśmy się z podstawową strukturą pluginów i utworzyliśmy główny plik zawierający standardowe informacje o nagłówkach. Następnie dokładnie sprawdziliśmy elementy, które stanowią fundamenty rozwoju pluginów dla WordPressa – hooki (akcje i filtry) – i nauczyliśmy się, jak ich używać do dodawania lub modyfikowania funkcji. Później przygotowaliśmy profesjonalne strony administracyjne dla pluginu, które są kluczowe dla interakcji z użytkownikami. Na koniec, przykładem “liczenia liczby wyświetleń artykułów” przenieśliśmy teorię w praktykę, zrealizując cały proces od zbierania danych do ich wyświetlenia na stronie użytkownika.

Pamiętaj, że dobre programowanie dodatków (pluginów) nie polega tylko na uruchomieniu wymaganych funkcji, ale także na dbaniu o bezpieczeństwo kodu, łatwość jego konserwacji, wydajność oraz stosowaniu standardów programowania WordPress. Poprzez ciągłe ćwiczenia i eksplorację dostępnych API WordPressu będziesz w stanie stworzyć dodatki, które są wydajne i popularne wśród użytkowników.

FAQ – najczęściej zadawane pytania.

Jakie są wymagane przedstawione wiedze, by rozwijać dodatki (plugi)?

Konieczne jest posiadanie solidnych umiejętności programowania w PHP, ponieważ WordPress oraz jego dodatki są głównie pisane w tym języku. Podobnie istotne jest posiadanie podstawowej wiedzy o HTML, CSS i JavaScript, co pomoże ci w tworzeniu interfejsów użytkownika i funkcji interaktywnych. Znajomość kilku podstawowych zasad baz danych MySQL także będzie przydatna, aby zrozumieć, w jaki sposób WordPress przechowuje dane.

Jak debugować moje wtyczki dla WordPress?

Najpierw upewnij się, że masz wszystko niezbędne w swoim… wp-config.php Włącz tryb debugowania WordPressa w pliku. WP_DEBUG Konstanta ustawiona jest na… trueTo umożliwi wyświetlenie błędów i ostrzeżzeń PHP na ekranie. Ponadto, używając… error_log() Funkcja umożliwia zapisy informacji o debugowaniu do logów błędów na serwerze, co jest bardzo skutecznym sposobem na lokalizację problemów. W przypadku złożonych zmiennych można to połączyć z innymi metodami diagnostyki. print_r()var_dump()error_log()Ponadto można użyć narzędzi deweloperskich w przeglądarzu (F12) do debugowania problemów z JavaScriptem i CSS-em na stronie internetowej.

Jak moja wtyczka będzie kompatybilna z różnymi wersjami WordPress?

Podczas rozwoju należy regularnie sprawdzać oficjalny dokumentację rozwojową WordPress, aby zapoznać się ze zmianami w funkcjach i hookach pomiędzy różnymi wersjami platformy. function_exists()version_compare() Używaj zdań warunkowych, aby sprawdzić, czy dane funkcje lub właściwości są dostępne, i w takiej sytuacji zapewnić alternatywny sposób działania, który będzie kompatybilny z wcześniejszymi wersjami WordPress. W opisie pluginu koniecznie podaj dokładny zakres wersji WordPress, z którymi jest on kompatybilny. Najlepszą praktyką jest regularne testowanie w różnych środowiskach testowych na różnych wersjach WordPress, aby zapewnić dobrą kompatybilność.

Co trzeba uwzględnić przy rozwijaniu komercyjnych wtyczek (pluginów)?

Podczas tworzenia komercyjnych wtyczek bezpieczeństwo, jakość kodu oraz doświadczenie użytkownika muszą stanowić najwyższy priorytet. Konieczne jest wdrożenie sprawdzalnego i bezpiecznego systemu autentyzacji (na przykład z użyciem kluczy licencji). Ważne jest również udostępnienie jasnych i świeżo aktualizowanych dokumentacji dla użytkowników oraz świadczenie technicznego wsparcia. Upewnij się, że stosujesz oficjalne wytyczki dotyczące rozwoju wtyczek dla WordPress oraz umowę licencji GPL. Rozważ rozwiązania typu Freemius lub Easy Digital Downloads, które pomogą ci zarządzać sprzedażą, wysyłaniem aktualizacji oraz obsługą zgłoszeń problemów.