Dari kosong ke satu: Panduan langkah demi langkah untuk menguasai kemahiran asas pembangunan plugin WordPress

Baca dalam masa 2 minit.
2026-03-18
2026-06-04
2,309
Saya mendapat komisen apabila anda membeli-belah melalui pautan di bawah, tanpa sebarang kos tambahan kepada anda.

Selamat datang ke dunia yang menarik pembangunan plugin untuk WordPress. Sebagai sistem pengurusan kandungan (Content Management System/CMS) yang paling popular di dunia, kekuatan WordPress terletak pada keupayaannya yang sangat boleh disesuaikan (scalable), dan plugin merupakan inti untuk mencapai keupayaan tersebut. Sama ada anda ingin mencipta penyelesaian untuk fungsi tertentu atau merancang untuk mengubah idea anda menjadi produk yang boleh digunakan oleh orang lain, menguasai kemahiran pembangunan plugin adalah sangat berharga. Artikel ini akan membimbing anda dari persiapan persekitaran yang paling asas, dan secara beransur-ansur membawa anda ke langkah seterusnya sehingga anda dapat membuat plugin pertama yang mempunyai fungsi yang lengkap.

Struktur asas dan prinsip plugin WordPress

Sebelum mula menulis kod, adalah sangat penting untuk memahami komposisi sebuah plugin dan cara ia berfungsi dalam WordPress. Sebuah plugin pada asasnya terdiri daripada satu atau lebih fail PHP, yang berinteraksi dengan sistem utama WordPress melalui API (Application Programming Interface) yang disediakan oleh WordPress.

Fail utama plugin

Setiap plugin mesti mempunyai satu fail utama. Fail utama ini biasanya dinamakan berdasarkan nama plugin tersebut, sebagai contoh… my-first-plugin.phpPada awal fail ini, mesti terdapat sebuah ulasan kepala plugin yang khusus. WordPress akan membaca maklumat tersebut untuk mengenal pasti dan memaparkan plugin tersebut.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan Lengkap Pembangunan Plugin WordPress: Dari Asas Hingga Kemahiran Praktikal

<?php
/**
 * Plugin Name: 我的第一个插件
 * Plugin URI:  https://example.com/my-first-plugin
 * Description: 这是一个用于演示的简单WordPress插件。
 * Version:     1.0.0
 * Author:      开发者名称
 * License:     GPL v2 or later
 */

Komen ini mendefinisikan metadata seperti nama, deskripsi, dan versi plugin dalam antara muka pengurusan latar belakang (backend management interface). Tanpa metadata ini, WordPress tidak akan dapat mengenali plugin tersebut.

UltaHost – Penyedia Hosting untuk WordPress
Jaminan pemulangan wang dalam tempoh 30 hari, lebar jalur dan pangkalan data yang tidak terhad, perlindungan DDoS percuma, diskaun 50% untuk pembelian selama 3 tahun.

Mekanisme Hook: Jambatan antara Plugin dan Modul Utama

Pendorong utama WordPress adalah sistem “Hook” (Pegangan), yang membenarkan plugin untuk “menyambungkan” kod mereka pada titik masa tertentu untuk mengubah atau memperluas tingkah laku lalai. Hook terutamanya dibahagikan kepada dua jenis: Action (Tindakan) dan Filter (Penapis).

Action hooks membenarkan anda menjalankan kod yang disesuaikan apabila acara tertentu berlaku, seperti selepas artikel diterbitkan, semasa pengguna log masuk, atau sebelum halaman dimuat. Anda boleh menggunakannya untuk melakukan tindakan yang diperlukan. add_action() Fungsi untuk memuatkan (mount) fungsi anda.

Hook filter membenarkan anda mengubah data. Sebelum data dihantar ke pangkalan data atau pelayar, anda boleh menghalang dan mengubahnya terlebih dahulu. Ini dilakukan melalui… add_filter() Fungsi ini dilaksanakan melalui penggunaan kedua-dua jenis “hook” tersebut. Memahami dan menguasai penggunaan kedua-dua jenis hook ini merupakan asas penting dalam pembangunan plugin yang lebih canggih.

Pembinaan persekitaran pembangunan dan plugin pertama

Sebelum memulakan proses pengkodan, sebuah persekitaran pembangunan tempatan yang boleh dipercayai adalah sangat penting. Ia membolehkan anda melakukan ujian dan penyelarasan dengan bebas tanpa mempengaruhi laman web yang berada dalam talian.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan Teknikal Untuk Proses Pembinaan Laman Web Secara Keseluruhan: Dari Awal Hingga Pelancaran, Termasuk Amalan dan Strategi Pengoptimuman

Mengkonfigurasi persekitaran pembangunan tempatan

Disyorkan untuk menggunakan penyelesaian pelayan tempatan yang terintegrasi, seperti Local by Flywheel, XAMPP, atau MAMP. Alat-alat ini membenarkan anda memasang persekitaran PHP, MySQL, dan pelayan web yang diperlukan untuk WordPress dengan satu klik sahaja. Setelah pemasangan selesai, buatlah laman web WordPress yang baru untuk tujuan pembangunan plugin.

Membuat dan mengaktifkan sebuah plugin yang mudah

Pada laman web WordPress tempatan anda… wp-content/plugins Dalam direktori tersebut, buatlah sebuah folder baru, sebagai contoh… my-first-pluginDalam folder tersebut, buatlah fail utama. my-first-plugin.phpDan tuliskan ulasan kepala plugin yang disebutkan di atas.

Setelah menyimpan fail tersebut, log masuk ke panel pentadbiran WordPress anda dan klik pada menu “Pemalam” (Plugins). Anda sepatutnya dapat melihat “Pemalam Pertama Saya” (My First Plugin) dalam senarai pemalam. Klik pada “Aktifkan” (Activate), dan pemalam pertama anda kini akan berfungsi! Walaupun ia tidak mempunyai sebarang ciri atau fungsi pada masa ini, anda telah berjaya membina struktur asas untuk sebuah pemalam.

hosting.com Hosting Bersama
Prestasi tinggi, menampilkan CPU AMD EPYC, storan SSD NVMe dan LiteSpeed, dengan sokongan pakar dalaman 24/7, langkah keselamatan canggih termasuk SSL, perlindungan serangan paksa kata laluan, perisian hasad dan DDoS, menjimatkan sehingga 73%.

Melaksanakan fungsi utama dan amalan keselamatan

Tujuan keberadaan sebuah plugin adalah fungsi yang ditawarkannya. Mari kita tambahkan satu fungsi yang ringkas tetapi berguna kepada plugin ini: menambahkan segmen teks khusus secara automatik di akhir kandungan artikel.

Menggunakan penapis untuk mengubah kandungan artikel

Kita akan menggunakan the_content Hook untuk penapis ini. Dalam fail utama plugin anda, tambahkan kod berikut:

Fungsi myplugin_add_text_to_content( $content ) {
    // Memeriksa jika ia halaman artikel tunggal
    if ( is_single() ) {
        $custom_text = ' <ms> Fungsi myplugin_add_text_to_content( $content ) {
    // Memeriksa jika ia halaman artikel tunggal
    if ( is_single() ) {
        $custom_text = '<p><em>Terima kasih kerana membaca! Artikel ini ditambahkan oleh plugin pertama saya.</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
add_filter( 'the_content', 'myplugin_add_text_to_content' );

Kod ini mendefinisikan sebuah fungsi. myplugin_add_text_to_contentIa menerima kandungan artikel. $content Sebagai parameter, ia digunakan di dalam fungsi. is_single() Tag penentuan syarat digunakan untuk memastikan bahawa teks hanya ditambahkan pada halaman artikel yang berasingan. Akhirnya, dengan… add_filter() Mount the function to the_content Letakkan teks yang ingin ditambahkan pada filter tersebut. Simpan fail dan kemudian refresh halaman artikel blog anda, dan anda akan dapat melihat teks yang telah ditambahkan.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Saya akan mengajar anda langkah demi langkah bagaimana membina laman web e-dagang profesional menggunakan platform WooCommerce, bermula dari kosong.

Aspek asas keselamatan plugin

Keselamatan adalah keutamaan tertinggi dalam pembangunan plugin. Jangan pernah mempercayai input pengguna atau data laman web secara buta.
1. Output melarikan diri: Apabila mengeluarkan sebarang data ke pelayar, perlu dilakukan pemelarian untuk mencegah serangan Cross-Site Scripting (XSS). WordPress menyediakan fungsi seperti esc_html(), esc_attr(), esc_url() Dan fungsi bantu yang lain.
2. Mengesahkan dan membersihkan input: Untuk data yang diterima daripada borang pengguna atau parameter URL, mereka mesti disahkan (memeriksa formatnya adalah betul) dan dibersihkan (membuang karakter yang tidak sah) sebelum digunakan. Fungsi-fungsi seperti ini boleh digunakan: sanitize_text_field()
3. Keselamatan tanpa kehadiran: Jika plugin anda melibatkan pengubahsuaian data (seperti menyimpan tetapan), anda mesti menggunakan mekanisme Nonce WordPress untuk mengesahkan hasrat permintaan, bagi mencegah serangan Cross-Site Request Forgery (CSRF).

Menambahkan antara muka pengurusan untuk plugin

Kebanyakan plugin memerlukan halaman tetapan yang boleh disesuaikan oleh pengguna. Kita akan membuat halaman pilihan yang ringkas yang membenarkan pengguna untuk menentukan teks yang ingin ditambahkan di akhir artikel.

Hosting Bersama InterServer
Hosting kongsi: 1TB/bulan pada $2.50 USD, bulan pertama pada $0.10 USD dengan kod promo tryinterserver. 461 skrip aplikasi awan tersedia untuk pemasangan satu klik.

Membuat menu pengurusan dan halaman

Kita boleh menggunakan add_menu_page()add_options_page() Fungsi ini digunakan untuk menambahkan satu item menu ke dalam backend WordPress. Kod di bawah ini akan menambahkan halaman pilihan yang terletak di bawah sub-menu “Settings” (Tetapan):

function myplugin_add_admin_menu() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的插件',              // 菜单标题
        'manage_options',        // 所需权限
        'myplugin-settings',     // 菜单Slug
        'myplugin_render_settings_page' // 用于渲染页面的回调函数
    );
}
add_action( 'admin_menu', 'myplugin_add_admin_menu' );

Seterusnya, kita perlu mendefinisikan fungsi panggilan balik (callback function). myplugin_render_settings_page Untuk menjana kandungan HTML untuk halaman tetapan dan mengendalikan logik penyimpanan borang. Halaman tersebut harus menggunakan Settings API WordPress untuk mengendalikan pilihan dengan selamat, namun sebagai contoh permulaan, versi yang dipermudahkan disediakan di sini:

Fungsi myplugin_render_settings_page() {
    ?&gt;
    <div class="wrap">
        <h2>Tetapan-tetapan plugin saya</h2>
        <form action="/ms/options.php/" method="post" data-trp-original-action="options.php">
            <?php settings_fields( 'myplugin_settings_group' ); ?>
            <label for="custom_text">Teks yang didefinisikan sendiri:</label><br/>
            <textarea id="custom_text" name="myplugin_custom_text" rows="4" cols="50"><?php echo esc_textarea( get_option( 'myplugin_custom_text' ) ); ?></textarea>
            <p class="submit">
                <input type="submit" name="submit" class="button-primary" value="Simpan perubahan." />
            </p>
        <input type="hidden" name="trp-form-language" value="ms"/></form>
    </div>
    &lt;?php
}

Daftar tetapan dan proses data.

Kita perlu mendaftar satu pilihan tetapan dan memastikan ia disimpan dengan selamat. Ini biasanya dilakukan semasa plugin dimulakan (dipraktikkan).

function myplugin_register_settings() {
    register_setting(
        'myplugin_settings_group', // 设置分组
        'myplugin_custom_text',    // 选项名称
        'sanitize_textarea_field'  // 清理回调函数
    );
}
add_action( 'admin_init', 'myplugin_register_settings' );

Akhir sekali, ubah fungsi yang digunakan untuk menambahkan kandungan artikel sebelum ini, dari pilihan pangkalan data. myplugin_custom_text Membaca teks yang disimpan oleh pengguna daripada fail, bukan menggunakan teks yang telah dikodkan secara tetap (hard-coded).

RINGKASAN

Artikel ini telah membawa anda melalui perjalanan pembangunan plugin WordPress dari “tidak tahu apa-apa” hingga “mampu melakukan sendiri”. Kita bermula dengan memahami struktur asas plugin dan mekanisme hook dalam WordPress, kemudian membina persekitaran pembangunan tempatan, mencipta dan mengaktifkan plugin pertama. Selepas itu, kita belajar cara menggunakan filter melalui contoh penambahan teks ke dalam artikel, dan menekankan kepentingan amalan keselamatan. Akhirnya, kita menambahkan halaman tetapan pengurusan yang boleh disesuaikan untuk plugin tersebut.

Setelah menguasai kemahiran-kemahiran asas ini, anda kini mempunyai asas yang diperlukan untuk meneruskan penyelidikan dalam pembangunan plugin yang lebih mendalam. Selanjutnya, anda boleh meneroka topik-topik lanjutan seperti jenis artikel yang boleh disesuaikan, metadata (Meta Box), kod pendek (Shortcode), titik akhir REST API, dan panggilan Ajax, bagi membina plugin WordPress yang lebih kompleks dan berkuasa.

FAQ - Soalan Lazim

Apa pengetahuan asas yang diperlukan untuk membangunkan plugin?

Anda perlu mempunyai pengetahuan asas dalam bahasa pengaturcaraan PHP, kerana kod asas WordPress dan pluginnya ditulis dalam PHP. Pemahaman tentang HTML, CSS, dan JavaScript asas juga sangat membantu, terutama apabila anda perlu membuat antaramuka pengguna (user interface). Mengetahui konsep asas pangkalan data MySQL juga merupakan kelebihan.

Bagaimana untuk membaiki (debug) kod plugin saya?

Metode pemeriksaan (debugging) yang paling sering digunakan dalam pembangunan WordPress adalah dengan mengaktifkan... WP_DEBUGAnda boleh melakukannya di laman web tersebut. wp-config.php Dalam fail tersebut, akan… define(‘WP_DEBUG’, true); Nilai pada baris ini diubah kepada trueIni akan memaparkan semua ralat, amaran, dan notis PHP pada skrin, serta merekodkannya ke dalam fail log. Selain itu, gunakan… error_log() Fungsi tersebut akan mengeluarkan maklumat variabel ke dalam log ralat server, yang juga merupakan teknik penyelidikan kesilapan (debugging) yang sangat berguna.

Bagaimanakah plugin saya harus mengendalikan sokongan untuk berbilang bahasa?

Untuk menjadikan plugin anda lebih internasional, anda perlu menggunakan fungsi terjemahan WordPress (seperti…) __()_e()Gunakan tag tertentu untuk mengelilingi semua rentetan teks yang ditujukan kepada pengguna. Kemudian, gunakan alat seperti Poedit untuk menghasilkannya. .pot File-file templat, yang mana penterjemah boleh menggunakannya untuk mencipta teks dalam pelbagai bahasa. .po.mo Fail. Akhir sekali, gunakannya dalam fail utama plugin. load_plugin_textdomain() Menggunakan fungsi untuk memuatkan fail terjemahan.

Setelah pembangunan selesai, bagaimanakah cara untuk menghantar plugin tersebut ke direktori rasmi?

Pertama sekali, pastikan bahawa plugin anda sepenuhnya mematuhi standard pengkodan rasmi WordPress dan lesen GPL. Kemudian, daftarkan sebuah repositori SVN untuk direktori plugin di WordPress.org. Anda perlu menggunakan alat SVN untuk menghantar kod plugin anda ke repositori tersebut. /trunk Senarai. Pada masa yang sama, sediakan kualiti yang tinggi. readme.txt Gambar skrin fail, plugin, dan ikon. Selepas penghantaran, pasukan pengauditan rasmi akan memeriksa plugin anda. Setelah diluluskan, ia boleh diterbitkan secara umum dalam direktori rasmi.