WordPress, sebagai sistem pengurusan kandungan yang paling popular di dunia, keupayaannya untuk diperluas dengan mudah adalah berkat kehadiran plugin. Dengan mengembangkan plugin, anda boleh menambahkan sebarang ciri khusus kepada laman web anda tanpa perlu mengubah kod asasnya. Panduan ini akan membimbing anda melalui keseluruhan proses pembinaan plugin pertama anda, termasuk persiapan persekitaran, penulisan kod, hingga ujian dan pengeluaran.
Preparasi dan pembinaan persekitaran.
Sebelum menulis baris kod pertama, anda memerlukan persekitaran pembangunan yang sesuai. Ini bukan sahaja dapat meningkatkan kecekapan, tetapi juga mengelakkan risiko yang mungkin timbul semasa melakukan penyelidikan dan pembetulan (debugging) pada laman web sebenar.
Membina persekitaran pembangunan tempatan
Disyorkan untuk menggunakan pakej perisian pelayan tempatan seperti XAMPP, MAMP, atau Laragon. Ia membenarkan pemasangan Apache, MySQL, dan PHP dengan satu klik, serta mensimulasikan persekitaran online dengan sempurna. Pastikan versi PHP yang anda gunakan adalah selaras dengan versi WordPress yang ingin anda gunakan; biasanya, laman web rasmi WordPress akan menyediakan keperluan versi terkini.
Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan Lengkap Pembangunan Plugin WordPress: Bangun Plugin Fungsi Pertama Anda Dari Kosong。
Memasang WordPress dan editor kod
Pasang sebuah laman web WordPress yang baru pada pelayan tempatan untuk tujuan pembangunan dan ujian plugin. Pilih juga seorang editor kod yang berkuasa, seperti Visual Studio Code atau PhpStorm. Editor-editor ini menyediakan sokongan yang baik untuk penyorotan sintaks PHP, cadangan kod, dan penyelidikan ralat (debugging), yang dapat meningkatkan pengalaman pengaturcaraan dengan ketara.
Cipta fail plugin pertama anda.
Satu plugin WordPress yang paling asas boleh terdiri daripada hanya satu fail sahaja. Kita akan bermula dengan plugin “Hello World” yang mudah untuk memahami struktur sebuah plugin.
Struktur fail utama plugin
Pertama sekali, dalam WordPress… wp-content/plugins Dalam direktori tersebut, buatlah sebuah folder baru, sebagai contoh… my-first-pluginDalam folder tersebut, buat fail plugin utama, yang biasanya dinamakan berdasarkan nama plugin itu sendiri, seperti… my-first-plugin.php。
Setiap plugin mesti mengandungi notis maklumat plugin yang khusus di bahagian awal fail, dan ini merupakan kunci untuk WordPress mengenal pasti plugin tersebut. Berikut adalah contoh yang paling asas:
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习的简单功能插件。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Setelah menyimpan fail tersebut, masuk ke halaman “Pembangun” (Plugins) di panel pentadbiran WordPress, dan anda akan dapat melihat plugin tersebut serta mengaktifkannya. Walaupun pada masa ini ia tidak mempunyai sebarang fungsi, anda telah berjaya membuat kerangka plugin yang memenuhi syarat-syarat yang diperlukan.
Diperoleh daripada WEB\nDisyorkan untuk membaca. Pelajari cara membangunkan plugin WordPress dari awal, langkah demi langkah.。
Menambahkan fungsi asas untuk plugin
Setelah mengaktifkan plugin tersebut, mari kita tambahkan satu fungsi yang mudah kepadanya: menambahkan baris teks yang boleh disesuaikan di bahagian kaki halaman web. Kita akan menggunakan ciri-ciri yang tersedia dalam WordPress untuk melakukannya. wp_footer Kuku.
Di bawah komen maklumat plugin, tambahkan kod berikut:
// 在网站页脚输出自定义文本
function myfp_add_footer_text() {
echo '<p style="text-align: center;">Terima kasih kerana menggunakan plugin pertama saya!</p>';
}
add_action( 'wp_footer', 'myfp_add_footer_text' ); Simpan fail dan kemudian segar semula bahagian hadapan laman web (frontend). Anda akan melihat baris teks yang terletak di bahagian bawah halaman, dan teks tersebut akan terpusat (centered). Contoh ini menunjukkan cara untuk menggunakannya. add_action() Fungsi tersebut akan “memuatkan” fungsi kustom anda ke titik pelaksanaan teras (core execution point) WordPress.
Laksanakan satu fungsi pengurusan yang praktikal.
Sebuah plugin yang lengkap biasanya memerlukan antara muka konfigurasi yang disediakan di panel pentadbiran WordPress. Seterusnya, kita akan menambahkan halaman tetapan yang ringkas untuk plugin tersebut, yang membenarkan pentadbir untuk menyesuaikan teks yang dipaparkan di bahagian kaki halaman (footer).
Create a management menu page.
Kita perlu menambahkan halaman sub-menu di bawah menu “Setelan” di bahagian belakang (backend). Ini memerlukan penggunaan... add_options_page() Fungsi.
Pertama sekali, buat sebuah fungsi untuk merender kandungan HTML halaman tetapan, dan muatkannya ke dalam halaman web yang sesuai. admin_menu Pada kait itu.
Diperoleh daripada WEB\nDisyorkan untuk membaca. Bermula dari kosong: Mengapa memilih pembangunan plugin WordPress?。
// 添加插件设置页面到后台菜单
function myfp_add_admin_menu() {
add_options_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限(管理员)
'my-first-plugin', // 菜单slug
'myfp_settings_page' // 用于输出页面内容的回调函数
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );
// 设置页面的HTML内容
function myfp_settings_page() {
?>
<div class="wrap">
<h1>Pengaturan plugin pertama saya</h1>
<form method="post" action="/ms/options.php/" data-trp-original-action="options.php">
<?php
settings_fields( 'myfp_settings_group' ); // 设置字段组
do_settings_sections( 'my-first-plugin' ); // 设置区域
submit_button(); // 提交按钮
?>
<input type="hidden" name="trp-form-language" value="ms"/></form>
</div>
<?php
} Pengaturan pendaftaran, bidang data, dan penyimpanan data
Hanya mempunyai halaman web sahaja tidak mencukupi; kami perlu menggunakan pengaturan API WordPress untuk mendaftar, mengesahkan, dan menyimpan pilihan tersebut dengan selamat. Ini melibatkan tiga fungsi utama:register_setting(), add_settings_section() 和 add_settings_field()。
// 初始化插件设置
function myfp_settings_init() {
// 注册一个新的设置项到数据库的 `wp_options` 表
register_setting( 'myfp_settings_group', 'myfp_footer_text' );
// 在设置页面添加一个区域
add_settings_section(
'myfp_section',
'页脚文字设置',
null, // 区域描述回调函数,这里不需要
'my-first-plugin'
);
// 在刚添加的区域里创建一个字段
add_settings_field(
'myfp_field_footer',
'显示的文本',
'myfp_field_footer_cb', // 用于输出字段HTML的回调函数
'my-first-plugin',
'myfp_section'
);
}
add_action( 'admin_init', 'myfp_settings_init' );
// 渲染文本输入字段的回调函数
function myfp_field_footer_cb() {
$text = get_option( 'myfp_footer_text', '感谢使用我的第一个插件!' ); // 获取已保存的值
echo '<input type="text" name="myfp_footer_text" value="' . esc_attr( $text ) . '" class="regular-text">';
echo '<p class="description">Teks yang dimasukkan di sini akan dipaparkan di bahagian kaki laman web.</p>';
} Ciri kemas kini telah diperbaiki untuk menggunakan tetapan yang disimpan.
Akhir sekali, ubahlah apa yang kita tulis sebelum ini. myfp_add_footer_text Fungsi tersebut digunakan untuk membaca nilai yang ditetapkan oleh pentadbir daripada pangkalan data.
function myfp_add_footer_text() {
$footer_text = get_option( 'myfp_footer_text', '感谢使用我的第一个插件!' );
if ( ! empty( $footer_text ) ) {
echo '<p style="text-align: center;">'`. esc_html($footer_text)`.'</p>';
}
}
add_action( 'wp_footer', 'myfp_add_footer_text' ); Sekarang, setelah anda masuk ke pentadbiran WordPress dan pergi ke “Settings” (Tetapan) -> “My Plugins” (Pemalam Saya), anda boleh mengubah teks di bahagian kaki halaman (footer) dan menyimpan perubahan tersebut. Setelah anda memuat semula halaman web, kandungan yang anda customise akan mula kelihatan.
Keamanan plugin, pengoptimuman, dan persiapan untuk penerbitan
Sebuah plugin yang berkualiti mesti mengambil kira amalan terbaik dari segi keselamatan, prestasi, dan pengantarabangsaan (internationalization).
Melaksanakan pengesahan data dan pengekstrakan (data validation and escaping)
Jangan pernah mempercayai data yang dimasukkan oleh pengguna atau data yang dikeluarkan terus dari pangkalan data. Dalam contoh di atas, kita telah menggunakan… esc_attr() Untuk melarikan atribut dalam medan input, gunakan < esc_html() Untuk output yang di-ejek (escaped) pada bahagian hadapan (front end), dalam senario yang lebih kompleks, kaedah tertentu perlu digunakan. sanitize_text_field() Untuk membersihkan input, gunakan… wp_kses_post() Ini membenarkan output HTML yang selamat.
Menambahkan sokongan antarabangsa
Untuk membolehkan plugin digunakan oleh pengguna di seluruh dunia, semua teks yang ditujukan kepada pengguna perlu disediakan dalam pelbagai bahasa. Ini memerlukan penggunaan alat atau proses terjemahan yang sesuai. __() 和 _e() Fungsi-fungsi seperti ini, serta pengisytiharan bidang teks (text fields).
Kemaskini ulasan di bahagian atas plugin untuk memastikan... Text Domain Sejajar dengan panggilan seterusnya. Kemudian, ubah nilai rentetan (string) dalam kod, sebagai contoh:
// 在设置字段描述中使用国际化函数
echo '<p class="description">' . esc_html__( '这里输入的文字将显示在网站页脚。', 'my-first-plugin' ) . '</p>';
// 在输出函数中使用
$default_text = __( '感谢使用我的第一个插件!', 'my-first-plugin' );
$footer_text = get_option( 'myfp_footer_text', $default_text ); Selepas itu, anda boleh menggunakan alat seperti Poedit untuk membuatnya. .pot File-file templat, untuk digunakan oleh penterjemah. .po 和 .mo Menterjemahkan dokumen.
Melakukan ujian akhir dan pengumpulan fail (pembungkusan).
Sebelum mengeluarkan sesuatu, adalah perlu untuk menguji fungsi plugin dalam pelbagai persekitaran (seperti versi PHP yang berbeza, versi WordPress yang berbeza). Pastikan bahawa tindakan seperti mengaktifkan, menonaktifkan, menyimpan tetapan, dan menghapus data tidak menyebabkan ralat atau meninggalkan data yang tidak perlu. Anda boleh menulis fungsi pembersihan (uninstallation cleaner) untuk melakukan ini. register_uninstall_hook() Opsi untuk membersihkan pangkalan data apabila pengguna menghapuskan tambahan (plugin).
Akhir sekali, kompres folder plugin anda menjadi… .zip Fail ini. Paket yang telah dikompresi ini boleh dipasang terus melalui fungsi “Upload Plugin” di panel pentadbiran WordPress, dan juga memenuhi keperluan format untuk dihantar ke direktori plugin rasmi WordPress.
RINGKASAN
Dengan panduan ini, anda telah melalui proses pembinaan sebuah plugin WordPress yang lengkap sepenuhnya dari awal. Anda telah belajar cara membuat fail asas plugin, menggunakan hook aksi untuk menambahkan fungsi, membina antara muka pentadbiran latar belakang menggunakan API WordPress, serta memahami konsep keselamatan, penyesuaian untuk pengguna dari pelbagai negara (internationalization), dan proses pembungkusan plugin (packaging). Walaupun plugin teks kaki tapak (footer text plugin) yang simple ini bersifat asas, struktur plugin, mekanisme hook, dan API yang terkandung di dalamnya merupakan asas penting untuk mengembangkan plugin yang lebih kompleks. Seterusnya, anda boleh mencuba menggunakan fungsi yang lebih canggih seperti Shortcode, jenis artikel yang boleh disesuaikan (custom article types), dan titik akhir REST API (REST API endpoints), untuk secara beransur-ansur meningkatkan kemahiran pengembangan plugin anda.
FAQ - Soalan Lazim
Adakah mustahil untuk mengembangkan plugin WordPress tanpa menguasai PHP?
Ya, PHP merupakan bahasa pengaturcaraan utama untuk pembangunan WordPress dan pluginnya. Anda perlu menguasai sintaks asas PHP, fungsi, array, serta konsep pengaturcaraan berorientasikan objek. Pemahaman tentang HTML, CSS, dan JavaScript asas juga sangat berguna dalam pembangunan plugin yang mengandungi antaramuka pengguna (user interface).
Bolehkah nama fail utama plugin diambil secara bebas (tanpa had)?
Boleh, tetapi ia mesti selaras dengan nama fail PHP utama yang terdapat dalam folder plugin tersebut. Biasanya, untuk kejelasan, fail utama akan mempunyai nama yang sama dengan folder plugin atau diberi nama yang berkaitan dengan fungsi plugin tersebut. index.phpYang paling penting, bahagian kepala fail (header) mesti mengandungi blok komen yang mengandungi maklumat plugin yang betul. WordPress mengenal pasti plugin dengan memproses blok komen ini.
Mengapa tetapan plugin saya tidak berkesan setelah disimpan?
Silakan ikuti langkah-langkah berikut untuk melakukan pemeriksaan: Pertama sekali, pastikan bahawa bidang tetapan (setting fields) anda telah disahkan (verified) dengan betul. register_setting() Daftar dengan betul, dan… settings_fields() Nama kumpulan tetapan dalam panggilan fungsi harus sepadan dengan yang digunakan. Selain itu, periksa juga bentuk (form) yang berkaitan. action Adakah atribut tersebut merujuk kepada sesuatu yang lain? options.phpAkhir sekali, semasa menghasilkan output di bahagian hadapan (front end), pastikan anda menggunakan kaedah atau alat yang sesuai. get_option() Fungsi tersebut menerima pilihan yang dimasukkan, dan nama pilihan tersebut adalah sama sepenuhnya dengan nama pilihan yang telah didaftarkan semasa proses pendaftaran.
Bagaimana saya boleh membuat plugin saya membersihkan data apabila ia tidak digunakan (dinyahaktifkan)?
Anda boleh menggunakan register_uninstall_hook() Fungsi ini digunakan untuk mendaftar pengait (hook) pembuangan (uninstallation). Dalam fungsi panggilan balik (callback function) untuk pengait tersebut, anda boleh menggunakan… delete_option() Fungsi ini digunakan untuk menghapus semua pilihan pangkalan data yang dicipta oleh plugin tersebut. Perlu diingat bahawa tindakan ini tidak boleh dipulihkan, dan hanya harus dilakukan apabila pengguna secara eksplisit memilih untuk “menghapus” plugin tersebut, bukan sekadar “menonaktifkannya”.
Bolehkah saya menghantar plugin percuma ke direktori rasmi WordPress?
Ya, WordPress secara rasmi menggalakkan pembangun untuk menghantar plugin percuma yang memenuhi piawaian ke direktori plugin mereka. Ini memerlukan anda mempunyai akaun WordPress.org dan membaca dengan teliti panduan penghantaran plugin mereka. Kod anda perlu mengikut standard pengaturcaraan tertentu, dan tidak boleh mengandungi kod berbahaya atau melanggar syarat lesen. Selepas penghantaran yang berjaya, pengguna boleh mencari dan memasang plugin anda terus dari panel pentadbiran WordPress.
Selanjutnya, apa yang perlu kita lakukan seterusnya?
Bacaan lanjutan dan pengetahuan praktikal
Konten berikut berkaitan dengan topik artikel ini dan sesuai untuk bacaan lanjut. Lebih baik untuk memulakan dengan artikel yang paling dekat dengan masalah anda sekarang, dan kemudian secara bertahap mengembangkan ke topik yang berkaitan, kerana ini biasanya akan memberikan hasil yang lebih baik.
- Bagaimana untuk memilih dan menyesuaikan tema WordPress yang sempurna untuk anda?
- Panduan Pembangunan Plugin WordPress: Dari Kosong Ke Sifar, Cipta Plugin Custom Pertama Anda
- Menjadi Pembangun Plugin WordPress: Panduan Lengkap Dari Awal Hingga Akhir
- Dari Nol ke Satu: Panduan Lengkap dan Teknik Praktikal untuk Membina Laman Web Profesional Menggunakan WordPress.
- Panduan Lengkap Pembangunan Plugin WordPress: Dari Permulaan Hingga Kemahiran Tinggi Untuk Membina Perluasan Profesional