Pełny przewodnik po rozwoju pluginów dla WordPressa: budowanie własnych funkcji od zera

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

Przygotowanie i ustawienie środowiska

Przed rozpoczęciem pisania kodu stabilne i profesjonalne środowisko rozwoju stanowi podstawę dla sukcesu. To nie tylko poprawi twoją efektywność programowania, ale także zapewni kompatybilność dodatków (pluginów) w różnych środowiskach.

Konfiguracja lokalnego środowiska deweloperskiego.

Zaleca się używać lokalnych pakietów do uruchomienia serwerów, takich jak Local by Flywheel, XAMPP lub MAMP. Te narzędzia umożliwiają jednorazową instalację Apache, MySQL i PHP, co doskonale simuluje środowisko serwera w sieci. Upewnij się, że Twoja wersja PHP odpowiada wymaganiom wybranej wersji WordPress – zwykle zaleca się używać PHP 7.4 lub wyższych wersji dla lepszej wydajności i bezpieczeństwa.

Wybór edytora kodu i narzędzi

Potężny edytor kodu jest niezbyt ważny. Visual Studio Code, PhpStorm lub Sublime Text to wszystkie wyśmienite opcje, które oferują wyróżnianie gramatycznego kodu, sugestie dotyczące jego pisania oraz funkcje debugowania. Ponadto instalacja narzędzia do zarządzania wersjami kodu, takiego jak Git, stanowi standard w branży – umożliwia to kontrolę zmian w kodzie, współpracę zespołu oraz tworzenie kopii bezpieczeństwowych.

Polecamy lekturę. Pełny przewodnik po tworzeniu wtyczek do WordPressa: od podstaw do zaawansowanych technik.

Stworz swoj pierwszy plik z rozszerzeniem (plugin).

Najważniejszą częścią pluginu WordPress jest jego główny plik. Ten plik zawiera nie tylko kod, który jest wykonywany przez plugin, ale także metadane pluginu, które są podane systemowi WordPress za pomocą specjalnych komentarzy w nagłówku pliku.

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 głównego pliku wtyczki

Każdy plugin musi mieć główną plikę w formacie PHP. Zwykle nazываем tę plikę według funkcji, którą plugin wykonywa. my-first-plugin.phpNa początku pliku muszą znajdować się standardowe komentarze zawierające informacje o pluginie – to kluczowe elementy, które umożliwiają WordPress-owi rozpoznanie tego pluginu.

<?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 komentarz instruuje WordPress, by na stronie “Dodatków” w backendzie wyświetlał informacje o dodatkach, takie jak ich nazwy i opisy. Text Domain Zastosowane do celów internacjonalizacji, w przygotowaniu do dalszych prac tłumaczeniowych.

Aktywowanie i dezaktywowanie wtyczek

Po stworzeniu głównego pliku należy umieścić go w katalogu zainstalowanego WordPress. /wp-content/plugins/ W folderze. Można je umieścić osobno lub stworzyć dla nich specjalny katalog (np. „Moje pliki”). /wp-content/plugins/my-first-plugin/Następnie umieść plik główny (main file) w odpowiednim miejscu. Po skończeniu loguj się do panelu administracyjnego WordPress, wejdź na stronę “Dodatki” (Plugins) i tam ujdziesz na listę nowo dodanych pluginów; po nich kliknij “Uwolnij” (Activate), aby je aktywować.

Zrozumienie kluczowych mechanizmów WordPressa: hooki i filtry

Możliwości i elastyczność WordPress wynikają w dużej mierze z jego systemu “hooków”. Dodatki (plugi) mogą zmieniać lub rozszerzać funkcje WordPressa poprzez “przyczepienie” się do tych hooków, bez konieczności modyfikacji kodu źródłowego.

Polecamy lekturę. Dokładny przegląd rozwoju pluginów dla WordPress: budowanie własnych funkcji od zera

Używanie aktywnych haczków (action hooks)

Aktywne haczyki (Action Hooks) umożliwiają wykonywanie własnego kodu w określonych momencach – na przykład w momencie opublikowania artykułu, przy logowaniu użytkownika lub podczas ładowania strony administracyjnej. add_action() Funkcja umożliwia montaż Twojej funkcji na określonym „haku” (hook).

Poniższy przykład pokazuje, jak dodać tekst dostosowany na dole strony frontowej witryny internetowej. Korzystaliśmy z… wp_footer Ten aktywny hook.

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

Używanie filtrów

Filtry są używane do modyfikacji danych generowanych w trakcie procesu. W odróżnieniu od działań (actions), filtry muszą otrzymać dane wejściowe i muszą zwrócić zmodyfikowane wartości. add_filter() Funkcja służy do aplikowania filtrów.

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%

Na przykład, następny kod zmienia wygląd tekstu na końcu nagłówków artykułów, dodając do nich określony sufiks. Korzystamy z… the_title Ten filtr.

function myplugin_modify_title( $title ) {
    // 确保只在主循环中修改
    if ( is_single() ) {
        return $title . ' [推荐阅读]';
    }
    return $title;
}
add_filter( 'the_title', 'myplugin_modify_title' );

Dodać stronę ustawień dla pluginu

Dojrzały plugin zwykle musi oferować użytkownikom możliwości konfiguracji. W WordPressie istnieje standardowy sposób na stworzenie strony ustawień dla pluginu, którą można umieścić w różnych miejscach menu administracyjnego.

Utwórz element menu administracyjnego.

Najpierw musisz użyć… add_action( ‘admin_menu’, … ) Można użyć „hooków” do rejestracji nowej strony menu w WordPress. Platforma oferuje kilka funkcji, które umożliwiają dodawanie elementów menu na różnych poziomach hierarchii. add_menu_page()(Najwyższy meniu) lub add_options_page()(Dodaj do podmeniu “Ustawienia”).

Polecamy lekturę. Pełny przewodnik po rozwoju pluginów dla WordPressa: od poznania podstaw do tworzenia zaawansowanych, funkcjonalnych rozszerzeń

Następny kod pokazuje, jak tworzyć prostą stronę z menu najwyższego poziomu. Funkcja: myplugin_settings_page_html Zadanie polega na renderowaniu zawartości HTML tej strony.

function myplugin_add_menu() {
    add_menu_page(
        ‘我的插件设置’,          // 页面标题
        ‘我的插件’,             // 菜单标题
        ‘manage_options’,      // 所需权限
        ‘myplugin’,            // 菜单 Slug
        ‘myplugin_settings_page_html’, // 回调函数
        ‘dashicons-admin-generic’, // 图标(可选)
        20                     // 位置(可选)
    );
}
add_action( ‘admin_menu’, ‘myplugin_add_menu’ );

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
            // 输出设置字段
            settings_fields( ‘myplugin_options’ );
            do_settings_sections( ‘myplugin’ );
            submit_button( ‘保存设置’ );
            ?>
        <input type="hidden" name="trp-form-language" value="pl"/></form>
    </div>
    &lt;?php
}

Ustawienia rejestracji, pola i sekcje

Aby powyżej opisany formularz mógł przechowywać dane, konieczne jest wykorzystanie API dostępnych w WordPress. To wymaga nastawienia odpowiednich opcji w konfiguracji WordPress. register_setting() Zarejestruj grupę ustawień i użyj jej… add_settings_section() Dodaj sekcję oraz… („Add a section, as well as…”). add_settings_field() Dodaj konkretnych polów.

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.

Ten proces zwykle odbywa się… admin_init Wszystko zostało zrealizowane w ramach tego „haka” (elementu kodu). Ustawienie API umożliwi automatyczną obróbkę danych, w tym ich weryfikację oraz przechowywanie. wp_options Wielu ułatwień w procesie rozwoju zapewniają mechanizmy kontroli poprawności danych (np. sprawdzanie formatu plików) oraz zabezpieczeńia (np. sprawdzanie ważności wartości typu Nonce).

Podsumowanie.

Rozwoj pluginów dla WordPress jest procesem złożonym, który obejmuje tworzenie środowiska, przygotowanie podstawowych plików, dogłębne poznanie i wykorzystanie systemu hooków, a na koniec budowę interfejsu użytkownika. Posłuchanie standardów kodowania WordPress oraz najlepszych praktyk (np. stosowanie komentarzy w nagłówkach pluginów, bezpiecznych prefiksów funkcji, obsługi języków różnych narodów oraz konfiguracji API) nie tylko gwarantuje stabilność działania pluginu, ale także ułatwia jego utrzymanie i rozszerzanie. Kluczowym elementem jest wykorzystanie rozwiniętego ekosystemu hooków dostępnego w WordPress, aby w sposób modułowy i nieinwazywny rozszerzyć funkcje witryny. Dzięki praktykom przedstawionym w tym przewodniku już poznasz podstawy tworzenia własnego, funkcjonalnego i dobrze zorganizowanego pluginu.

FAQ – najczęściej zadawane pytania.

Jaki poziom znajomości programowania jest konieczny do tworzenia dodatków (pluginów)?

Konieczne jest, abyś posiadał solidne podstawy wiedzy o PHP, ponieważ serce WordPressa oraz jego pluginy są głównie napisane w tym języku programowania. Ponadto istotne jest posiadanie podstawowego zrozumienia HTML, CSS i JavaScript (zwłaszcza jQuery, ponieważ w starym kodzie WordPressa jest ono często wykorzystywane), co pomoże ci przy obsłudze wyglądu i interakcji na stronie internetowej. Wiedza o podstawowych operacjach w bazie danych MySQL również będzie przydatna.

Jak uniknąć konfliktów pomiędzy nazwami funkcji wplącanych w różne pluginy?

Najlepszą praktyką unikania konfliktów jest używanie unikalnych prefiksów przy nazawaniu wszystkich funkcji, klas, stałych (constantów) i zmiennych. Ten prefiks musi być wystarczająco charakterystyczny i zwykle powinien być powiązany z nazwą twojego pluginu lub jego skróceniem. Na przykład, jeśli twój plugin nosi nazwę “Awesome Widget”, możesz użyć prefiksu np. „aww”. aw_awesome_widget_AW_ 作为前缀。将代码封装在类(Class)中也是现代 WordPress 插件开发中广泛采用的、更优雅的避免冲突和组织代码的方式。

W którym katalogu powinny być przechowywane pliki rozszerzeń (plug-inów)?

Pliki rozszerzeń (plug-inów) powinny być przechowywane w katalogu instalacji WordPress. /wp-content/plugins/ W folderze. W przypadku prostych, jednofajlowych wtyczek można po prostu umieścić główny plik PHP w tym katalogu. Jeśli wtyczka jest bardziej złożona, zdecydowanie zaleca się stworzenie osobnego podkatalogu o nazwie tej wtyczki (na przykład: …). /wp-content/plugins/my-awesome-plugin/Następnie wszystkie pliki z dodatków (PHP, CSS, JS, zdjęcia itd.) umieszcza się w tym podkatalogu. Dzięki temu zarządzanie plikami staje się jasne i uporządkowane.

Jak dodać wsparcie dla tłumaczeń do pluginu?

Dodawanie wsparcia dla lokalizacji (i18n) w pluginie obejmuje głównie następujące kroki: Najpierw należy poprawnie ustawić odpowiednie informacje w komentarzach na początku pliku pluginu. Text DomainI w kodzie użyj funkcji tłumaczeniowych dostępnych w WordPress. ()_e()esc_html() Należy „zawinąć” wszystkie teksty, które potrzebują tłumaczenia. Następnie użyć narzędzi takich jak Poedit, aby wybrać te teksty i przygotować je do tłumaczenia. .pot Pliki szablonów, na ich podstawie tworzone są wersje dokumentów w odpowiednich językach. .po.mo Na koniec, użyj tego podczas inicjalizacji pluginu. load_plugin_textdomain() Funkcja służy do ładowania tłumaczeń.