Tworzenie Wtyczek WordPress od Podstaw do Wdrożenia
Ekosystem WordPress napędza ponad 43% stron w internecie. Tworzenie własnych wtyczek (plugins) to jedna z najbardziej dochodowych i poszukiwanych umiejętności na rynku programistycznym.
W tym poradniku krok po kroku przeprowadzimy Cię przez proces budowy nowoczesnej, skalowalnej wtyczki do WordPressa i WooCommerce — od pierwszego pliku PHP aż po wdrożenie i dystrybucję.
1. Wymagania wstępne i środowisko deweloperskie
Przed rozpoczęciem upewnij się, że Twoje lokalne środowisko programistyczne spełnia współczesne standardy:
- PHP: wersja 8.1+ (z aktywnymi typami zmiennych, enums i readonly properties).
- Lokalny serwer: Docker, LocalWP, DDEV lub Laragon / XAMPP.
- Menedżer pakietów: Composer do autoloadingu i zarządzania zależnościami.
- WordPress: Najnowsza stabilna wersja (6.x+).
2. Krok 1: Nagłówek pliku głównego wtyczki
Każda wtyczka WordPress musi posiadać unikalny folder w katalogu /wp-content/plugins/ oraz plik główny z poprawnym nagłówkiem docblock, który silnik WordPressa odczytuje podczas indeksowania w panelu administratora:
<?php
/**
* Plugin Name: Pluger Custom Feature PRO
* Plugin URI: https://pluger.pl/market
* Description: Zaawansowany moduł rozszerzający możliwości WooCommerce o szybkie zamówienia.
* Version: 1.0.0
* Requires at least: 6.0
* Requires PHP: 8.1
* Author: Pluger Engineering Team
* Author URI: https://pluger.pl
* License: GPL v2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: pluger-custom-feature
* Domain Path: /languages
*/
// Blokada bezpośredniego uruchomienia pliku poza środowiskiem WordPress
if (!defined('ABSPATH')) {
exit;
}
3. Krok 2: Bootstrap i Cykl Życia Wtyczki
Dobra wtyczka rejestruje procedury instalacyjne (activation_hook), deaktywacyjne (deactivation_hook) oraz odinstalowujące (uninstall.php):
// Rejestracja aktywacji (np. tworzenie tabeli w bazie lub domyślnych opcji)
register_activation_hook(__FILE__, function() {
if (!get_option('pluger_feature_installed_at')) {
update_option('pluger_feature_installed_at', time());
}
});
// Rejestracja deaktywacji (np. czyszczenie cronów)
register_deactivation_hook(__FILE__, function() {
wp_clear_scheduled_hook('pluger_sync_cron_event');
});
4. Krok 3: Rejestracja Strony Opcji w Panelu WP Admin
Aby administrator mógł konfigurować ustawienia wtyczki, dodajemy stronę menu za pomocą akcji admin_menu:
add_action('admin_menu', function () {
add_menu_page(
__('Ustawienia Pluger Feature', 'pluger-custom-feature'), // Tytuł strony
__('Pluger Feature', 'pluger-custom-feature'), // Etykieta menu
'manage_options', // Wymagane uprawnienie
'pluger-feature-settings', // Slug menu
'render_pluger_settings_view', // Funkcja renderująca
'dashicons-superhero', // Ikona Dashicons
58 // Pozycja w menu
);
});
function render_pluger_settings_view(): void {
if (!current_user_can('manage_options')) {
return;
}
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<form method="post" action="options.php">
<?php
settings_fields('pluger_feature_group');
do_settings_sections('pluger-feature-settings');
submit_button();
?>
</form>
</div>
<?php
}
5. Krok 4: Tworzenie Endpointu REST API
Nowoczesne wtyczki komunikują się z frontendem (np. komponentami React lub aplikacjami mobilnymi) za pomocą oficjalnego WordPress REST API:
add_action('rest_api_init', function () {
register_rest_route('pluger/v1', '/status', [
'methods' => WP_REST_Server::READABLE,
'callback' => 'handle_pluger_status_endpoint',
'permission_callback' => function () {
// Zezwalaj tylko użytkownikom z uprawnieniem do edycji postów
return current_user_can('edit_posts');
},
]);
});
function handle_pluger_status_endpoint(WP_REST_Request $request): WP_REST_Response {
$data = [
'status' => 'ok',
'version' => '1.0.0',
'timestamp' => current_time('mysql'),
];
return new WP_REST_Response($data, 200);
}
6. Krok 5: Przygotowanie Wtyczki do Monetyzacji i Aktualizacji
Gdy Twoja wtyczka jest gotowa, pojawia się pytanie: jak zarządzać licencjami, płatnościami i automatycznymi aktualizacjami bez pisania własnego serwera od zera?
Zamiast budować własną infrastrukturę i martwić się o bezpieczeństwo kluczy, serwery plików i płatności Stripe:
- Skorzystaj z platformy Pluger.pl.
- Zintegruj gotowy moduł sprawdzania licencji i auto-updatera w mniej niż 15 minut.
- Sprzedawaj swoje wtyczki w modelu subskrypcyjnym z obsługą BLIK, kart i faktur VAT.
Podsumowanie
Gratulacje! Znasz już kluczowe zasady tworzenia wtyczek do WordPressa. Kolejnym krokiem jest opanowanie dobrych praktyk bezpieczeństwa i wydajności oraz podłączenie systemu automatycznych aktualizacji.