Pembangunan Plugin WordPress: Dari Permulaan Hingga Kemahiran Lanjutan: Membina Plugin Custom Pertama Anda

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

Mengapa plugin merupakan inti ekosistem WordPress?

Kekuatan kebolehskalaan WordPress yang luar biasa banyak bergantung pada sistem plugin-nya. Plugin membenarkan pembangun menambahkan sebarang fungsi ke laman web tanpa perlu mengubah kod asas WordPress, daripada borang hubungan yang ringkas hingga sistem e-dagang yang kompleks. Memahami pengembangan plugin bermakna anda memegang kunci untuk menyesuaikan WordPress mengikut keperluan anda. Ia mengikuti prinsip “konvensi lebih baik daripada konfigurasi” dan berinteraksi dengan kod asas melalui satu set hook (pautan) yang jelas dalam kitaran hayat plugin.

Sebuah plugin standard pada dasarnya merupakan satu atau lebih komponen yang terletak…/wp-content/plugins/Fail-fail PHP dalam direktori tersebut mesti mengandungi ulasan kepala (header comments) yang khusus, yang digunakan untuk menerangkan fungsi plugin tersebut kepada WordPress. Reka bentuk modular ini memastikan pengasingan fungsi-fungsi dan kestabilan sistem, menjadikan proses mengaktifkan, menonaktifkan, dan membuang plugin menjadi lebih selamat dan terkawal.

Membina plugin pertama anda: Struktur asas

Untuk membuat sebuah plugin, langkah pertama adalah untuk membina fail asas dan strukturnya. Ini bukan sekadar tentang menulis kod, tetapi juga tentang meletakkan asas yang kukuh untuk penyelenggaraan dan pengembangan plugin pada masa hadapan.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Menguasai Pembangunan Plugin WordPress dari Awal: Mencipta Fungsi Khusus dan Keuntungan yang Cekap

Pertama sekali, dalam persekitaran pembangunan WordPress tempatan anda…/wp-content/plugins/Dalam direktori tersebut, buatlah sebuah folder baru. Nama folder tersebut seharusnya unik dan mampu menggambarkan fungsi plugin tersebut, dalam bentuk ayat-ayat kecil dalam bahasa Inggeris yang ditulis dalam huruf kecil. Contohnya:my-first-greeting-pluginDalam folder ini, buat sebuah fail PHP utama. Nama fail biasanya sama dengan nama folder tersebut, sebagai contoh:my-first-greeting-plugin.php

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.

Pengisytiharan Kepala Maklumat Plugin

Fail utama plugin mesti bermula dengan blok ulasan khusus, yang merupakan kunci untuk WordPress mengenali plugin tersebut. Masukkan kod berikut ke dalam fail PHP utama anda:

<?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
 */

Komen ini mendefinisikan semua maklumat yang dipaparkan oleh plugin pada halaman “Plugins” di latar belakang WordPress.Plugin NameIni adalah item wajib diisi; yang lain adalah pilihan. Selepas menyimpan fail, anda akan dapat melihat plugin baru ini dalam senarai plugin di latar belakang WordPress, dan anda boleh mengaktifkannya seperti plugin lain.

Gunakan pengait tindakan untuk menambah fungsi

Setelah plugin diaktifkan, ia tidak akan melakukan apa-apa pada masa ini. Untuk membuat plugin berfungsi, kita perlu menggunakan “Hook” dalam WordPress. Hook terbahagi kepada dua jenis: “Action” dan “Filter”. Hook “Action” membenarkan anda menjalankan kod khusus pada masa-masa tertentu, seperti semasa halaman dimuat atau apabila artikel diterbitkan.

Tambahkan ucapan selamat di bahagian kaki halaman.

Satu keperluan yang sering berlaku adalah untuk menambahkan kandungan ke kawasan kaki halaman (footer) laman web. WordPress menyediakan kemudahan untuk ini.wp_footerIni adalah pengait tindakan (action hook). Kita boleh “memasang” fungsi khusus (custom function) ke atas pengait ini.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan Terakhir Pembangunan Plugin WordPress: Membina Plugin Custom Pertama Dari Kosong

Di bawah ulasan pada bahagian atas fail PHP utama, tambahkan kod berikut:

// 声明一个自定义函数,用于输出问候语
function my_greeting_display() {
    echo '<p style="text-align: center; color: #666; padding: 10px;">Hai dunia! Selamat menggunakan plugin WordPress pertama saya.</p>';
}
// 使用 add_action 函数将我们的自定义函数挂载到 wp_footer 钩子上
add_action( 'wp_footer', 'my_greeting_display' );

add_actionFungsi merupakan jambatan yang menghubungkan kod kustom dengan inti WordPress. Parameter pertama adalah nama hook.‘wp_footer’Parameter kedua adalah nama fungsi yang kita definisikan.‘my_greeting_display’Simpan fail tersebut dan kemudian segar semula halaman web. Anda akan dapat melihat teks ucapan selamat ini di bahagian kaki halaman.

Mengintegrasikan penapis untuk meningkatkan fleksibiliti

Hook untuk tindakan membenarkan kita “melakukan sesuatu”, manakala hook untuk penapis membenarkan kita “mengubah data”. Mereka membenarkan kita mengubah data sebelum ia digunakan atau dipaparkan di dalam pelayar. Ini menjadikan fungsi plugin lebih fleksibel dan boleh disesuaikan.

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%.

修改文章标题的示例

Jika kita ingin menambahkan frasa “【Disyorkan】” secara automatik di hadapan semua tajuk artikel, kita boleh menggunakan…the_titlePenapis.

Tambahkan fungsi dan penapis baru berikut ke dalam fail utama plugin anda:

// 声明一个函数,用于修改文章标题
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_filterparameter ketiga10Ini adalah keutamaan; semakin kecil nombor tersebut, semakin awal ia akan dijalankan; parameter keempat.2Menunjukkan bahawa data dihantar kepada fungsi.my_prefix_post_titleJumlah parameter. Fungsi penapis mesti mengembalikan nilai yang telah diubah, bukan hanya mengeluarkannya. Ini membolehkan kod anda bekerjasama secara berantai dengan penapis dari plugin atau tema lain.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Menguasai sepenuhnya pembangunan plugin WordPress: Membina ciri-ciri khusus sendiri dari awal hingga akhir

Create a plugin management page.

Apabila sebuah plugin memerlukan beberapa pilihan yang boleh disesuaikan oleh pengguna, kita perlu membuat halaman pengurusan pentadbiran untuknya. Ini dilakukan dengan menggunakan API menu pengurusan WordPress.

Tambahkan halaman tetapan ke latar belakang pengurusan.

Kami akan menambahkan menu utama yang ringkas ke bar navigasi sebelah kiri di latar belakang WordPress.

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.

Teruskan menambahkan kod berikut ke dalam fail utama plugin anda:

// 注册管理菜单
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="/ms/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="ms"/></form>
        <p>Selamat datang ke halaman tetapan untuk plugin pertama saya. Pada masa akan datang, lebih banyak pilihan boleh ditambahkan di sini.</p>
    </div>
    &lt;?php
}

add_menu_pageFungsi tersebut merupakan inti untuk membuat menu utama. Setelah disimpan, log masuk ke panel pentadbiran WordPress dengan akaun pentadbir, dan anda akan melihat item menu baru yang bernama “Greeting Plugin” di sebelah kiri. Klik pada item tersebut untuk masuk ke halaman tetapan asas yang telah kita definisikan. Ini merupakan langkah pertama dalam membina ciri konfigurasi untuk plugin yang lebih kompleks; pada masa akan datang, anda boleh mengintegrasikan bidang tetapan, logik penyimpanan borang, dan lain-lain pada halaman ini.

RINGKASAN

Dengan membuat sebuah plugin ucapan selamat yang ringkas, kita telah melalui proses utama dalam pembangunan plugin WordPress: bermula dengan membuat fail asas dan maklumat header, kemudian menggunakan…add_actionHook menjalankan kod pada kedudukan tertentu, kemudian menggunakan hasilnya.add_filterModifikasi kandungan yang dihasilkan: Tambahkan antara muka konfigurasi latar belakang untuk plugin melalui API menu pengurusan. Keempat-empat asas ini – struktur fail, pengait tindakan, pengait penapis, dan antara muka pengurusan – membentuk asas hampir semua plugin WordPress. Dengan memahami dan menguasai konsep-konsep ini, anda telah bergerak dari tahap pemula ke tahap pakar, dan kini anda boleh mula membina alat khusus yang lebih kompleks dan berfungsi dengan lebih baik, serta memanfaatkan sepenuhnya potensi WordPress.

FAQ - Soalan Lazim

Apa struktur minimum untuk sebuah plugin, ###?
Satu plugin boleh hanya mempunyai satu fail PHP yang berasingan. Cukuplah fail tersebut mengandungi ulasan kepala plugin WordPress yang sah (iaitu…Plugin Name), dan letakkannya di/wp-content/plugins/Dalam direktori utama atau sub-direktorinya, WordPress akan mengenali dan menyenaraikannya. Tentu saja, plugin yang lebih kompleks biasanya mengatur kod mereka dalam beberapa fail dan sub-direktori untuk meningkatkan kemudahan penyelenggaraan.

Apa perbezaan asas antara hook tindakan (action hook) dan hook penapis (filter hook)?

Hook untuk tindakan digunakan untuk “melakukan operasi” pada masa tertentu, dan ia tidak memerlukan fungsi anda mengembalikan nilai. Intinya adalah untuk menjalankan segmen kod tertentu. Hook untuk penapis pula digunakan untuk “mengubah data”, dan ia memerlukan fungsi anda untuk mengembalikan nilai (biasanya nilai yang telah diubah), supaya data tersebut dapat diteruskan dalam rangkaian penapisan. Dengan kata lain, tindakan adalah untuk melakukan sesuatu, manakala penapis adalah untuk mengubah sesuatu.

Bagaimana untuk memastikan kod plugin saya tidak akan bertentangan dengan plugin lain?

Untuk mengelakkan konflik nama fungsi, kelas, atau pemalar, amalan terbaik adalah menggunakan ruang nama (namespace) atau menambahkan prefiks unik kepada semua penanda (identifier). Sebagai contoh, dalam contoh artikel ini, semua fungsi telah menggunakan ruang nama yang sesuai.my_my_greeting_Sebagai prefiks, penggunaan ruang nama (namespace) telah menjadi amalan yang lebih moden dan menyeluruh sejak PHP 5.3.

Bagaimana untuk melakukan penyelidikan dan pembetulan (debugging) semasa membangunkan plugin?

Pertama sekali, pastikan bahawa anda telah…wp-config.phpBuka fail tersebut.WP_DEBUGdefine( ‘WP_DEBUG’, true );Gunakanerror_log()Fungsi tersebut akan menulis maklumat pembaikan ke log ralat pada pelayan. Untuk pemeriksaan variabel, anda boleh menggunakannya.print_r()var_dump()Menggabungkanwp_die()Keluarkan kandungan dengan selamat pada halaman web. Selain itu, menggunakan alat tambahan untuk pembangun seperti Query Monitor dapat meningkatkan kecekapan penyelidikan dan pembetulan kesilapan (debugging) dengan ketara.