Rozwój pluginów dla WordPress: od poznania podstaw do osiągnięcia biegłości – stworzenie twojego pierwszego własnego pluginu

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

Czemu pluginy stanowią istotę ekosystemu WordPress?

Wielka rozszerzalność WordPressa jest w dużej mierze zależna od jego systemu pluginów. Plugini umożliwiają programistom dodawanie dowolnych funkcji do witryny bez konieczności modyfikacji kodu źródłowego WordPressa – od prostych form kontaktowych po złożone systemy e-commerce. Zrozumienie procesu tworzenia pluginów oznacza, że posiadasz klucz do dostosowania WordPressa do każdych potrzeb. System ten bazuje na zasadzie “umowy przewyższają konfigurację” i interakcjonuje z kodem źródłowym za pomocą jasno określonych mechanizmów (ang. hooks) dotyczących życiowego cyklu pluginów.

Standardowy plugin to w istocie jeden lub kilka elementów, które znajdują się w określonym miejscu (na stronie internetowej lub w aplikacji)./wp-content/plugins/Pliki PHP znajdujące się w katalogu muszą zawierać określone komentarze na początku, które służą do opisania tego pluginu w WordPress. Taki modułarny design zapewnia izolację funkcji oraz stabilność systemu, co ułatwia bezpieczne i kontrolowane włączanie, wyłączanie oraz odinstalowanie pluginów.

Stworzenie twojego pierwszego pluginu: podstawa struktury

Aby stworzyć plugin, najpierw należy przygotować jego podstawowe pliki i strukturę. Nie chodzi tu tylko o napisanie kodu, ale także o ustanowienie fundamentów, które umożliwią późniejszą konserwację i rozszerzanie pluginu.

Polecamy lekturę. Opanowanie rozwoju pluginów dla WordPressa od zera: tworzenie unikalnych funkcji i efektywnego generowania dochodu

Najpierw, w twoim lokalnym środowisku rozwoju WordPress…/wp-content/plugins/W katalogu utwórz nową folderę. Nazwa foldera musi być unikalna i opisywać funkcję dodatku, powinna składać się z małych liter angielskich. Na przykład:my-first-greeting-pluginW tym folderze utwórz główny plik PHP o nazwie identycznej z nazwą foldera, na przykład:my-first-greeting-plugin.php

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.

Udostępnienie informacji o pluginie w nagłówku

Główny plik pluginu musi zaczynać się od określonego bloku komentarzy – to kluczowy element, który umożliwia WordPressowi rozpoznanie pluginu. Wklej następujący kod do swojego głównego pliku PHP:

<?php
/**
 * Plugin Name:       我的第一个问候插件
 * Plugin URI:        https://example.com/my-greeting-plugin
 * Description:       这是一个演示插件,用于在网站页脚添加一句自定义问候语。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-greeting-plugin
 * Domain Path:       /languages
 */

Ten komentarz opisuje wszystkie informacje, które są wyświetlane na stronie “Dodatki” w panelu administracyjnym WordPressa w odniesieniu do danego pluginu.Plugin NameTo pola obowiązkowe; wszystkie inne są opcjonalne. Po zapisaniu pliku nowy plugin pojawi się w liście dostępnych wtyczek w panelu administracyjnym WordPress i można go włączyć, tak samo jak inne wtyczki.

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

Po włączeniu pluginu on w tym momencie nie wykonywa żadnych działań. Aby plugin mógł funkcjonować, musimy użyć “hooków” w WordPress. Hooki dzielą się na “akcje” (Actions) i “filtry” (Filters). Akcje umożliwiają wykonywanie własnego kodu w określonych momencach – na przykład podczas ładowania strony lub publikacji artykułu.

Dodaj powitanie w nagłówku strony.

Często występuje potrzeba dodania treści do obszaru na dole strony (footer) witryny internetowej. WordPress umożliwia to w łatwy sposób.wp_footerTen “hook” do działań – możemy „przyczepić” do niego własną, dostosowaną funkcję.

Polecamy lekturę. Światowy przewodnik po tworzeniu pluginów dla WordPressa: jak stworzyć pierwszy własny plugin od zera

Poniżej komentarza umieszczonego na początku głównego pliku PHP dodaj następujący kod:

// 声明一个自定义函数,用于输出问候语
function my_greeting_display() {
    echo '<p style="text-align: center; color: #666; padding: 10px;">Witaj, światie! Zapraszam do korzystania z mojego pierwszego dodatku dla WordPress.</p>';
}
// 使用 add_action 函数将我们的自定义函数挂载到 wp_footer 钩子上
add_action( 'wp_footer', 'my_greeting_display' );

add_actionFunkcje są mostem łączącym własny kod z core’em WordPress. Pierwszym parametrem jest nazwa hooka.‘wp_footer’Drugi parametr to nazwa funkcji, którą sami określiliśmy.‘my_greeting_display’Zapisz plik i odśwież stronę internetową – wtedy ujrzysz ten tekst powitania w nagłówku strony.

Wdrożenie filtrów zwiększa elastyczność systemu.

Aktywnie działające “haki” (action hooks) umożliwiają nam wykonywanie określonych działań, natomiast “haki filtrów” (filter hooks) pozwalają nam modyfikować dane. Dzięki temu możemy zmieniać informacje przed ich użyciem lub wyświetleniem w przeglądarcu. To sprawia, że funkcje dodatków (plug-inów) są bardziej zgodne z naszymi wymaganiami i łatwiej dostosowują się do różnych potrzeb.

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%

修改文章标题的示例

Aby automatycznie dodawać tekst “【Rekomendowane】” przed wszystkimi nagłówkami artykułów, możemy użyć odpowiednich narzędzi lub skryptów.the_titleFiltry.

Dodaj następującą nową funkcję i filtr do głównego pliku swojego pluginu:

// 声明一个函数,用于修改文章标题
function my_prefix_post_title( $title, $post_id = null ) {
    // 确保只在主循环且是文章页面添加前缀
    if ( is_single() && in_the_loop() ) {
        $title = '【推荐】' . $title;
    }
    // 必须返回修改后的值
    return $title;
}
// 使用 add_filter 函数,挂载到 the_title 过滤器
add_filter( 'the_title', 'my_prefix_post_title', 10, 2 );

add_filtertrzeci parametr10To priorytet – im mniejszy numer, tym wcześniej zostanie wykonywana operacja; czwarty parametr…2Oznacza, że dane są przekazane do funkcji.my_prefix_post_titleLiczba parametrów. Funkcja filtru musi zwrócić zmienioną wartość, a nie tylko ją wyświetlić. Dzięki temu twój kod może współpracować z łańcuchem filtrów innych wtyczek lub tematów.

Polecamy lekturę. Poznaj w pełni rozwój wtyczek WordPress: twórz niestandardowe funkcje od podstaw.

Stworzenie strony do zarządzania pluginami

Gdy plugin wymaga kilku opcji, które mogą być konfigurowane przez użytkownika, konieczne jest stworzenie dla niego strony zarządzania w backendzie. To jest realizowane poprzez wykorzystanie API menu zarządzania WordPress.

Dodaj stronę z ustawieniami do panelu administracyjnego.

Dodamy prosty menu najwyższego poziomu do lewej nawigacji w panelu administracyjnym WordPress.

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.

W dalszym ciągu dodaj następujący kod do głównego pliku swojego pluginu:

// 注册管理菜单
function my_greeting_add_admin_menu() {
    add_menu_page(
        '问候插件设置',       // 页面标题
        '问候插件',           // 菜单标题
        'manage_options',     // 权限(管理员)
        'my-greeting-plugin', // 菜单slug
        'my_greeting_admin_page', // 回调函数,用于显示页面内容
        'dashicons-admin-generic', // 菜单图标(WordPress Dashicons)
        80                    // 菜单位置
    );
}
add_action( 'admin_menu', 'my_greeting_add_admin_menu' );

// 定义设置页面的HTML内容
function my_greeting_admin_page() {
    // 安全检查
    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( 'my_greeting_options' );
            do_settings_sections( 'my-greeting-plugin' );
            submit_button( '保存设置' );
            ?>
        <input type="hidden" name="trp-form-language" value="pl"/></form>
        <p>Witaj na stronie ustawień mojego pierwszego dodatku. Później można tu dodać więcej opcji.</p>
    </div>
    &lt;?php
}

add_menu_pageFunkcje stanowią klucz do tworzenia najwyższego poziomu menu w aplikacji WordPress. Po zapisaniu zmian i logowaniu się jako administrator do panelu administracyjnego WordPressu, na lewej stronie ujrzysz nowy element menu o nazwie “Plugin Hello”. Kliknięcie na niego otworzy stronę z ustawieniami podstawowymi, któreśmy określili. To pierwszy krok w budowaniu bardziej złożonych funkcji pluginu – w przyszłości na tej stronie będzie można integrować pola do ustawiania, mechanizmy zapisu danych itp.

Podsumowanie.

Poprzez stworzenie prostego pluginu do wysyłania powitań przeszliśmy przez kluczowe etapy rozwoju pluginów w WordPress: zaczęliśmy od tworzenia podstawowych plików i informacji zawartych w nagłówku (header), a potem wykorzystaliśmy dostępne funkcje i zasady programowania, aby plugin funkcjonował poprawnie.add_actionHak wykona kod w określonym miejscu, a potem… (The hook executes code in a specific location, and then…)add_filterZmodyfikuj treść wyjściową i dodaj interfejs konfiguracji w tle dla pluginu za pomocą API w menu administracyjnym. Te cztery kluczowe elementy – struktura plików, hooki akcji, hooki filtrów oraz interfejs administracyjny – stanowią podstawę prawie wszystkich pluginów WordPress. Zrozumienie i biegłe stosowanie tych koncepcji umożliwi ci przekroczenie poziomu początkującego użytkownika i osiągnięcie mistrzostwa, co pozwoli ci tworzyć bardziej złożone i funkcjonalne narzędzia dostosowane do potrzeb Twoich projektów, a tym samym w pełni wykorzystać potencjał WordPress.

FAQ – najczęściej zadawane pytania.

Jaka jest najmniejsza struktura pluginu ###?
Dodatek może składać się z tylko jednego niezależnego pliku w formacie PHP. Wystarczy, aby ten plik zawierał ważne komentarze umieszczone na początku (tzw. „header comments”) specyficzne dla WordPress pluginów.Plugin Name…) i umieścić je w…/wp-content/plugins/W WordPressie plik można rozpoznać i uwzględnić w menu, jeśli znajduje się w katalogu lub jego podkatalogach. Oczywiście, złożone pluginy często organizują swój kod w kilku plikach i podkatalogach, aby ułatwić ich konserwację.

Jaka jest istotna różnica między aktywnymi hookami (action hooks) a filtrowymi hookami (filter hooks)?

Hooki akcyjne są używane do wykonywania operacji w określonym momencie; nie wymagają żadnego wyniku z powrotu funkcji – ich celem jest wykonywanie określonego fragmentu kodu. Hooki filtracyjne natomiast służą do modyfikacji danych i wymagają, aby funkcja zwróciła określony wynik (zwykle zmienioną wartość wejściową), aby dane mogły być dalej przekazywane w łańcu filtracji. Prostymi słowami: hooki akcyjne są używane do wykonywania czegoś, a hooki filtracyjne do zmiany czegoś.

Jak zapewnić, że kod mojego pluginu nie będzie konfliktować z innymi pluginami?

Aby uniknąć konfliktów nazw funkcji, klas lub stałych, najlepszą praktyką jest używanie przestrzeni nazw (zalecane) lub dodawanie unikalnego prefiksu do wszystkich identyfikatorów. Na przykład, we wszystkich przykładach z tego tekstu użyto takiego rozwiązania.my_my_greeting_Jako prefiks. Od wersji PHP 5.3 używanie przestrzeni nazw stanowi bardziej nowoczesną i zdecydowaną metodę organizacji kodu.

Jak debugować w czasie tworzenia pluginów?

Najpierw upewnij się, że masz wszystko niezbędne w swoim…wp-config.phpUwolniono dostęp do pliku.WP_DEBUGdefine( ‘WP_DEBUG’, true );„Użyj”.error_log()Funkcja umożliwia zapisy informacji o debugowaniu do logu błędów na serwerze. Do sprawdzania wartości zmiennych można użyć odpowiednich procedur.print_r()var_dump()Połączyćwp_die()Można bezpiecznie wyświetlić dane na stronie. Ponadto użycie dodatków dla programistów, takich jak Query Monitor, może znacząco poprawić efektywność debugowania.