Przygotowanie: Zrozumienie podstaw pluginów w WordPressie
Przed rozpoczęciem pisania kodu istotne jest ugruntowanie się w teorii. Plugin WordPress to w istocie zbiór jednego lub kilku plików PHP, które działają w ramach platformy WordPress.Hook(钩子)System umożliwia rozszerzanie lub modyfikację podstawowych funkcji WordPress. Plugini mogą być bardzo proste – składają się tylko z kilku linii kódu – aż po zaawansowane aplikacje, które obejmują całą platformę administracyjną. Wszystkie pluginy są przechowywane w specjalnym miejscu w systemie WordPress./wp-content/plugins/W katalogu każdy plugin posiada swoją własną folderę.
Środowisko rozwoju to twoje stanowisko pracy. Potrzebujesz lokalnego serwera, np. XAMPP, MAMP lub Local by Flywheel, oraz zainstalowanego WordPressa. Zdecydowanie zaleca się…wp-config.phpUwolniono dostęp do pliku.WP_DEBUGModele pomogą ci szybko lokalizować błędy podczas rozwoju. Ponadto niezbędne są wygodne narzędzia do edycji kodu (np. VS Code, PhpStorm) oraz współczesny browser wyposażony w narzędzia dla programistów.
Stworzenie pierwszego pluginu: Podstawa struktury i aktywacja
Zacznijmy od stworzenia najprostszego pluginu, który ma za zadanie dodawanie linii z informacjami o autorskich prawach na dole każdej strony witryny. Ten proces pomoże ci zrozumieć podstawowe elementy składające się na pluginie.
Polecamy lekturę. Przewodnik po rozwoju pluginów dla WordPressa: jak stworzyć swoje pierwsze rozszerzenie funkcjonalne od zera。
Najpierw…/wp-content/plugins/Utworz nowy folder w katalogu i nazwij go…my-first-pluginW tym folderze należy stworzyć plik z głównym pluginem, który zwykle ma taką samą nazwę jak folder.my-first-plugin.phpKażdy plugin musi zawierać standardowe komentarze umieszczone na początku pliku, które służą do identyfikacji informacji o pluginie. To jedyny sposób, jak WordPress może rozpoznać te informacje.
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习WordPress插件开发的入门插件,将在页面底部添加版权信息。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Po zapisaniu pliku loguj się do panelu administracyjnego WordPress, wejdź na stronę “Dodatki” (Plugins) i ujawni się w liście dodatek o nazwie “Moje pierwsze dodatko” (My First Plugin). Kliknij na “Aktywuj” (Enable), a twój dodatek zostanie uruchomiony. Choć na początku nie będzie wykonywać żadnych działań.
Rozwijanie kluczowej funkcji: dodawanie treści za pomocą „haków” (hooków).
Możliwości WordPress polegają na tym, że…Hook(钩子)Systemy są podzielone na…Action(动作)和Filter(过滤器)Dwa typy. Hooki akcyjne umożliwiają wstawienie własnego kodu w określonych momencach czasowych (np. po naładowaniu strony lub w momencie opublikowania artykułu), aby wykonać określone funkcje. Hooki filtracyjne z kolei pozwalają modyfikować dane przekazywane w ramach procesu (np. treść artykułu lub jego nagłówek).
Aby dodać tekst do nagłówka strony, musimy użyć…wp_footerTen „hook” do działań – dodajemy następujący kod do pliku z głównym pluginem:
// 这是一个安全措施,防止直接访问PHP文件
if ( ! defined( 'ABSPATH' ) ) {
exit; // 如果ABSPATH未定义,则退出
}
/**
* 在网站页脚输出自定义HTML内容
*/
function myfp_add_footer_text() {
echo '<div style="text-align: center; padding: 20px; border-top: 1px solid #eee; margin-top: 40px;">'echo '<p>© '. date('Y')'. Moja strona internetowa. Wszkie prawa zastrzeżone. Ten tekst został stworzony przez…<strong>Moje pierwsze dodatkowe narzędzie (plugin).</strong>Generuj.</p>'echo '</div>';
}
// 将我们的函数挂载到 `wp_footer` 动作钩子上
add_action( 'wp_footer', 'myfp_add_footer_text' ); W tym kodzie najpierw definiujemy funkcję.myfp_add_footer_text()Jego funkcja polega na wygenerowaniu segmentu kodu HTML. Następnie go używamy…add_action()Funkcja “montuje” tę własną funkcję na odpowiednim miejscu w systemie.wp_footerNa tym haczu. To oznacza, że co raz, gdy WordPress wykona dane działanie…wp_footerGdy mowa o lokalizacji (zazwyczaj w kontekście tematu…)footer.phpGdy zostanie otwarty plik, automatycznie zostanie wywołana nasza funkcja, co doprowadzi do wyświetlenia informacji o prawach autorskich, które określiliśmy, w dolnej części strony.
Polecamy lekturę. Od zera: kompletny przewodnik po tworzeniu wtyczek do WordPressa oraz dzieleniu się najlepszymi praktykami.。
Wysokiej jakości funkcje: tworzenie stron zarządzania oraz skrótów kodu
W pełni funkcjonalny plugin często wymaga interakcji z administratorem. Dalej dodamy do pluginu prostą stronę konfiguracji oraz stworzymy krótki kod.
Dodaj stronę ustawień do menu zarządzania.
Będziemy używać…add_menu_page()Funkcja dodaje nowy element do menu po lewej stronie panelu administracyjnego w WordPress. Zmodyfikuj plik głównego pluginu i dodaj następujący kod:
/**
* 注册插件管理菜单
*/
function myfp_add_admin_menu() {
add_menu_page(
'我的第一个插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 所需权限
'myfp-settings', // 菜单slug
'myfp_settings_page', // 显示页面内容的回调函数
'dashicons-admin-plugins', // 图标(使用Dashicon)
30 // 菜单位置
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );
/**
* 设置页面的HTML内容
*/
function myfp_settings_page() {
// 检查用户权限
if ( !current_user_can( 'manage_options' ) ) {
return;
}
?>
<div class="wrap">
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
<p>Witaj na stronie ustawień “Mojego pierwszego pluginu”. To przykład prostego interfejsu do zarządzania.</p>
<form action="/pl/options.php/" method="post" data-trp-original-action="options.php">
<?php
// 未来可以在这里添加设置字段
?>
<p>Dodatkowe zaawansowane funkcje (np. zapisy ustawień) zostaną przedstawione w kolejnych tutorialach.</p>
<input type="hidden" name="trp-form-language" value="pl"/></form>
</div>
<?php
} Po zapisaniu i aktualizacji strony w tle pojawi się nowy element menu “Moje dodatki”. Kliknijcie na niego wejdziesz na właśnie stworzoną, pustą stronę z ustawieniami.
Stworz i zarejestruj krótki kod.
Krótkie kody umożliwiają użytkownikom wykonywanie prostych działań za pomocą zaledwie kilku znaków.[shortcode]Tagi są używane do wstawiania dynamicznego zawartości w artykułach lub na stronach internetowych. Utworzymy krótki kod, który wyświetli aktualną godzinę na serwerze.
/**
* 短代码处理函数
* @param array $atts 短代码属性
* @param string $content 短代码包裹的内容
* @return string 返回要替换的HTML
*/
function myfp_current_time_shortcode( $atts = [], $content = null ) {
// 设置默认属性并合并用户传入的属性
$atts = shortcode_atts(
array(
'format' => 'Y-m-d H:i:s',
),
$atts,
'current_time'
);
// 根据format属性格式化当前时间
$current_time = date( $atts['format'] );
// 返回输出内容
return '<div class="myfp-time"><strong>Obecna godzina:</strong> '`.esc_html($current_time).`'</div>'// Rejestracja skróconego kodu [current_time]
add_shortcode( 'current_time', 'myfp_current_time_shortcode' ); Teraz możesz wpisać to w dowolnym artykule, na jakiejś stronie lub w polu tekstowym jakiegoś narzędzia.[current_time]Aby wyświetlić czas w standardowym formacie, albo użyć innej opcji…[current_time format="F j, Y"]Aby wyświetlić czas w ustawionym przez użytkownika formacie, WordPress automatycznie wywoła naszą funkcję.myfp_current_time_shortcode()Funkcja jest przeznaczona do obsługi tego krótkiego kodu oraz jego zastępczenia.
Podsumowanie.
Zgodnie z tym poradnikiem udało ci się wykonać kluczowe kroki przy tworzeniu pełnowartościowego plugina do WordPressa od zera. Poznałeś podstawową strukturę pluginu, znaczenie komentarzy umieszczonego w jego nagłówku („header”) oraz zastosowałeś kluczową technologię rozwoju w WordPressie – system hooków. Udało ci się skutecznie…add_action()Zdodałem treść na frontend stronie internetowej, używając…add_menu_page()Została stworzona interfejsa dla panelu administracyjnego, a następnie zaczęto ją używać.add_shortcode()Zarejestrowano krótkie kody, które można używać w edytorach treści.
Polecamy lekturę. Przewodnik po rozpoczęciu pracy przy tworzeniu pluginów dla WordPressa。
To jest tylko początek drogi w świecie rozwoju pluginów. Od tej pozycji możesz eksplorować bardziej złożone obszary, np. tworzenie tabel w bazach danych do przechowywania danych, używanie różnych narzędzi i technik programowania itd.add_settings_section()和add_settings_field()Stwórz prawdziwe strony z listą opcji, obsługuj wysyłanie formularzy, dodaj interakcje typu AJAX, przygotuj własne typy artykułów i kategorie, a także postępuj zgodnie z standardami kodowania i zasadami bezpieczeństwa WordPress, aby opublikować swój plugin. Dzięki dalszej praktyce i eksploracji będziesz w stanie stworzyć potężny i profesjonalny plugin dla WordPress.
FAQ – najczęściej zadawane pytania.
Ile plików musi zawierać dodatek (plugin)?
Możliwe, że plugin składa się wyłącznie z jednego głównego pliku PHP. To wystarczy w przypadku prostych pluginów. Gdy funkcje pluginu stają się bardziej złożone, zaleca się rozdzielić różne moduły funkcjonalne na osobne pliki (np. pliki z kodem CSS, JavaScript, definicjami klas itd.) i zorganizować ich ładowanie za pomocą głównego pliku, aby kod był bardziej czytelny i łatwiejszy w utrzymaniu.
Dlaczego mój plugin nie pojawia się na liście w tle (w obszarze zarządzania aplikacją)?
Zwykle to wynika z niewłaściwego formatowania komentarzy w nagłówku pliku rozszerzenia lub błędnego adresu pliku. Upewnij się, że główny plik PHP rozszerzenia znajduje się w bezpośrednim położeniu./wp-content/plugins/your-plugin-folder/Znajduje się w katalogu, a blok komentarzy na początku pliku ma właściwy format – szczególnie…Plugin Name:Ta linia jest konieczna. Po sprawdzeniu, że wszystko jest w porządku, wystarczy odnowić stronę z pluginem.
W jaki sposób różnią się aktywnie działające „hooki” (ang. action hooks) od filtrujących „hooków” (ang. filter hooks)?
Hooki akcyjne są używane do wykonywania określonego fragmentu kodu w określonym momencie; nie wymagają żadnej wartości powrotnej i są przeznaczone głównie do aktywowania dodatkowych funkcji, np. dodawania elementów HTML lub wysyłania wiadomości e-mail. Hooki filtracyjne są używane do modyfikacji danych; muszą zwrócić jakąś wartość (zwykle zmienioną wartość wejściową) i są przeznaczone głównie do interwencji przed wyświetleniem treści, np. do zmiany nagłówka artykułu lub dodawania linków do treści.
Jak bezpiecznie usunąć dodane „hooki” (elementy interfejsu)?
Możesz użyćremove_action()或remove_filter()Funkcja służy do usunięcia wcześniej dodanych „haków” (hooków). Jednak należy upewnić się, że operacja usunięcia nastąpi po oryginalnej operacji dodawania, a parametr priorytetu musi odpowiadać wartości użytej przy dodawaniu.add_action()或add_filter()Priorytety w tym przypadku są identyczne. Zwykle zaleca się wykonywać operację usuwania, gdy hooki w pluginie są wyłączone lub w określonych warunkach.
Następny krok, co dalej?
Dalsze lektury i praktyczna wiedza.
Poniższe treści są powiązane z tematem tego artykułu i warto je przeczytać. Zwykle lepiej zacząć od artykułu, który najbardziej odpowiada aktualnemu problemowi, a potem stopniowo przechodzić do tematów pokrewnych.
- Jak wybrać i dostosować temat WordPress, który idealnie pasuje do twoich potrzeb?
- Przewodnik po tworzeniu pluginów dla WordPress: jak stworzyć swój pierwszy własny plugin od zera
- Jak stać się deweloperem pluginów dla WordPressa: pełny przewodnik od zera do jednego
- Od zera do jednego: Pełny przewodnik i praktyczne poradы na budowę profesjonalnych stron internetowych za pomocą WordPressa
- Pełny przewodnik po rozwoju pluginów dla WordPressa: od poznania podstaw do osiągnięcia biegłości w tworzeniu profesjonalnych rozszerzeń