Pembangunan Plugin WordPress: Panduan Lengkap Dari Permulaan Hingga Kemahiran Tinggi – Membina Fungsi Khusus Sendiri

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

Membina persekitaran pembangunan untuk plugin WordPress

Sebelum memulakan penulisan kod, sebuah persekitaran pembangunan yang stabil dan cekap adalah sangat penting. Ini bukan sahaja dapat meningkatkan kecekapan pembangunan, tetapi juga memastikan keserasian plugin dalam pelbagai persekitaran. Pertama sekali, anda perlu membina persekitaran operasi WordPress pada komputer anda sendiri. Perisian pakej server tempatan yang terintegrasi disyorkan, seperti XAMPP, MAMP, atau Local by Flywheel, yang membolehkan pemasangan Apache, MySQL, dan PHP dengan satu klik sahaja.

Seterusnya, anda memerlukan sebuah editor kod. Visual Studio Code,PhpStorm, atau Sublime Text semuanya merupakan pilihan yang sangat baik, kerana ia menyediakan ciri-ciri seperti penyorotan sintaks, cadangan kod, dan fungsi penyelidikan kesilapan (debugging). Pastikan bahawa versi PHP yang anda gunakan adalah selaras dengan persekitaran WordPress yang dituju; biasanya, pihak WordPress sendiri akan mengesyorkan versi PHP yang stabil.

Pekerjaan utama dalam persiapan pembangunan adalah untuk mencipta struktur asas bagi sebuah plugin. Dalam direktori pemasangan WordPress anda…wp-content/pluginsDalam folder tersebut, buatlah sebuah folder khusus untuk plugin anda, contohnya:my-first-pluginDalam folder ini, anda mesti membuat sebuah fail plugin utama, yang biasanya dinamakan mengikut nama plugin tersebut, seperti…my-first-plugin.phpFail ini merupakan titik masuk untuk plugin tersebut, dan maklumat ulasan di bahagian atasnya sangat penting. WordPress bergantung pada maklumat ini untuk mengenal pasti dan memaparkan plugin anda.

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

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

Komen ini mendefinisikan maklumat yang akan dipaparkan oleh plugin dalam antaramuka pentadbiran WordPress. Setelah melengkapkan langkah ini, anda akan dapat melihat dan mengaktifkan plugin anda di halaman “Plugins” dalam WordPress, walaupun pada masa ini plugin tersebut tidak mempunyai sebarang fungsi.

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.

Mengfahami mekanisme asas plugin WordPress

Kekuatan WordPress terletak pada arkitekturnya yang sangat boleh diperluas, yang terutamanya dicapai melalui mekanisme “Hook”. Memahami konsep Hook adalah kunci untuk menguasai pembangunan plugin. Hook terbahagi kepada dua jenis utama: Action Hooks dan Filter Hooks.

Hook untuk tindakan membenarkan anda “menyisipkan” dan menjalankan kod anda pada titik masa yang tertentu. Sebagai contoh, apabila sebuah artikel diterbitkan, atau apabila pengguna mengakses bahagian atas laman web, WordPress akan memicu hook tindakan yang sesuai. Anda boleh menggunakannya untuk melakukan pelbagai tugas, seperti menghantar notifikasi, mengemas kini data, atau melakukan tindakan lain yang diinginkan.add_action()Fungsi tersebut akan “memuatkan” fungsi kustom anda ke dalam titik-titik pengaitan (hooks) tersebut.

function my_custom_function() {
    // 你的代码逻辑
}
add_action( 'wp_head', 'my_custom_function' );

Kod di atas akan digunakan pada laman web tersebut.<head>Sebahagiannya dilaksanakan.my_custom_functionFungsi.

Filter hooks digunakan untuk mengubah data. Ia membenarkan anda membuat pengubahsuaian pada data sebelum ia digunakan, seperti disimpan ke dalam pangkalan data atau dipaparkan pada halaman web. Anda boleh menggunakannya untuk...add_filter()Fungsi digunakan untuk mengaplikasikan penapis. Fungsi penapis mesti menerima nilai input dan mengembalikan nilai yang telah diubah suai.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Pengenalan praktikal untuk pemula: Belajar membangunkan plugin WordPress dari awal

function modify_content( $content ) {
    $new_content = $content . “<p>Artikel ini ditambahkan oleh plugin saya.</p>”;
    return $new_content;
}
add_filter( 'the_content', 'modify_content' );

Kod ini akan menambahkan segmen teks yang ditentukan sendiri di akhir setiap kandungan artikel.

Satu lagi mekanisme utama adalah kod pendek (Shortcode). Kod pendek membenarkan pengguna untuk menggunakan tag-tag yang mudah (seperti…)[my_shortcode]Mengintegrasikan kandungan dinamik dalam artikel atau halaman. Anda boleh menggunakan Inserting dynamic content into an article or page. You can useadd_shortcode()Fungsi untuk mendaftar fungsi pemprosesan kod pendek.

Membina sebuah contoh plugin yang lengkap dengan fungsi-fungsinya

Sekarang, mari kita gunakan semua pengetahuan yang telah diberikan untuk membina sebuah plugin yang mudah yang digelar “Anggaran Masa Pembacaan Artikel”. Plugin ini akan mengira masa pembacaan artikel secara automatik dan menunjakkannya di hadapan kandungan tersebut.

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

Pertama sekali, dalam fail utama plugin tersebut, kita mencipta sebuah fungsi untuk mengira masa membaca. Anggaplah kelajuan membaca purata adalah 200 perkataan setiap minit.

function calculate_reading_time( $content ) {
    // 去除HTML标签,只计算纯文字
    $text = strip_tags( $content );
    // 计算单词数
    $word_count = str_word_count( $text );
    // 计算阅读分钟数(向上取整)
    $reading_time = ceil( $word_count / 200 );

// 创建显示信息
    $reading_time_html = ‘<div class="“reading-time”">Masa bacaan yang dijangka: ’.$reading_time.‘ minit</div>’;

// 将阅读时间信息附加到文章内容之前
    return $reading_time_html . $content;
}
// 使用过滤器将函数应用到文章内容
add_filter( ‘the_content’, ‘calculate_reading_time’ );

Namun, mungkin kita tidak ingin menunjukkan masa pembacaan di semua tempat (seperti dalam ringkasan atau sumber RSS). Kita boleh mengoptimumkannya dengan menambahkan pengesahan syarat (conditional checks).

function calculate_reading_time( $content ) {
    // 仅在主循环的单篇文章页面显示
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $text = strip_tags( $content );
        $word_count = str_word_count( $text );
        $reading_time = ceil( $word_count / 200 );

$reading_time_html = ‘<div class="“reading-time”"><strong>📖 Masa Membaca:</strong>Kira-kira $reading_time… ’minit‘</div>’;
        return $reading_time_html . $content;
    }
    // 如果不是单篇文章,返回原内容
    return $content;
}
add_filter( ‘the_content’, ‘calculate_reading_time’ );

Untuk menjadikan gaya penampilan lebih menarik, kita juga boleh menambahkan sedikit kod CSS. Kita boleh menggunakan…wp_enqueue_style()Fungsi untuk memuatkan fail gaya (style sheet) dengan selamat. Pertama sekali, buat satu fail dalam folder plugin.style.cssFail tersebut kemudian ditambahkan ke dalam barisan (queue) melalui pengait tindakan (action hook).

Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan untuk pemula dalam pembangunan plugin WordPress: Membina plugin pertama anda dari awal.

function my_plugin_styles() {
    wp_enqueue_style(
        ‘my-plugin-style’,
        plugin_dir_url( __FILE__ ) . ‘style.css’,
        array(),
        ‘1.0.0’
    );
}
add_action( ‘wp_enqueue_scripts’, ‘my_plugin_styles’ );

Amalan terbaik untuk pengekstrakan antarabangsa dan keselamatan plugin

Sebuah plugin yang profesional dan ditujukan untuk pengguna di seluruh dunia mesti menyokong pengaturcaraan antarabangsa (internationalization atau i18n). Ini membolehkan plugin tersebut diterjemahkan ke dalam bahasa-bahasa lain. Untuk melaksanakan pengaturcaraan antarabangsa, anda perlu menggunakan fungsi terjemahan yang disediakan oleh WordPress. Pertama sekali, pastikan anda menetapkan pengaturan yang betul dalam nota pada bahagian atas plugin (header comments).Text DomainSeperti yang kita tetapkan sebelum ini…my-first-plugin

Dalam kod, gunakan pendekatan yang seragam untuk semua rentetan teks yang perlu diterjemahkan.()_e()esc_html()Mengemas fungsi-fungsi tersebut.

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.
$reading_time_html = ‘<div class="“reading-time”"><strong>’
    . esc_html__( ‘📖 Reading Time:’, ‘my-first-plugin’ )
    . ‘</strong>’
    . sprintf(
        esc_html__( ‘about %d minutes’, ‘my-first-plugin’ ),
        $reading_time
    )
    . ‘</div>’;

Kemudian, anda perlu menggunakan alat (seperti Poedit) untuk menghasilkannya..potFail templat, penterjemah boleh menggunakan ini untuk membuat kandungan baru..po.moFail-fail ini perlu diletakkan dalam folder plugin.languagesDalam folder tersebut.

Keselamatan merupakan aspek yang paling penting dalam pembangunan plugin. Berikut adalah beberapa amalan keselamatan asas yang mesti diikuti:
1. Pengesahan Data: Semak semua data yang diterima daripada pengguna atau sumber luar dengan teliti. Gunakan fungsi-fungsi seperti…sanitize_text_field()absint()Mari bersihkan data.
2. Penyelamatan data: Sebelum sebarang data dihasilkan untuk dikeluarkan ke dalam HTML, JavaScript, atau URL, penyelamatan data mesti dilakukan. Gunakan kaedah yang sesuai untuk memastikan bahawa data tersebut tidak akan menyebabkan masalah atau ralat semasa penggunaan.esc_html()esc_attr()esc_url()wp_kses_post()Fungsi-fungsi seperti itu.
3. Pengesahan bukan CE (Non-CE Verification): Untuk operasi yang melibatkan perubahan data (seperti penghantaran borang, permintaan AJAX), pengesahan mesti digunakan.wp_nonce(Nombor token sekali gus) digunakan untuk mengesahkan kesahihan dan niat permintaan, serta mencegah serangan CSRF.
4. Pemeriksaan Keupayaan: Sebelum menjalankan operasi pengurusan, gunakan...current_user_can()Fungsi ini memeriksa sama ada pengguna semasa mempunyai kuasa yang mencukupi (seperti…)‘manage_options’)。

RINGKASAN

Pembangunan plugin untuk WordPress adalah proses mengubah idea menjadi ciri-ciri yang berguna, dan intipatinya terletak pada pemahaman yang mendalam serta penggunaan mekanisme “hook” yang fleksibel. Bermula dengan membina persekitaran dan mencipta fail-fail asas, kita berinteraksi secara mendalam dengan kod asas WordPress melalui “actions” dan “filters” untuk membina modul-modul fungsi yang praktikal. Sebuah plugin yang matang bukan sahaja perlu mempunyai ciri-ciri yang lengkap, tetapi juga harus mematuhi standard antarabangsa dan keselamatan yang tinggi, untuk memastikan ia stabil, selamat, dan boleh digunakan oleh pengguna di seluruh dunia. Melalui latihan dan pembelajaran yang berterusan, anda akan berupaya beralih dari membangunkan plugin fungsi yang mudah ke pembinaan perluasan (extensions) untuk WordPress yang lebih kompleks dan bersifat komersial.

FAQ - Soalan Lazim

Adakah anda perlu mahir dalam PHP untuk mengembangkan plugin WordPress?

Ya, kemahiran yang tinggi dalam PHP adalah asas untuk mengembangkan plugin WordPress. Inti WordPress itu sendiri ditulis dalam PHP, dan semua logik pengendalian untuk plugin serta tema bergantung pada PHP. Anda perlu biasa dengan sintaks PHP, fungsi-fungsi, pengaturcaraan berorientasikan objek, serta cara berinteraksi dengan pangkalan data MySQL. Selain itu, pemahaman yang baik tentang HTML, CSS, dan JavaScript juga sangat penting untuk mengembangkan ciri-ciri interaktif pada bahagian hadapan (front end) aplikasi.

Bagaimana untuk membaiki (debug) plugin WordPress yang saya bangunkan?

WordPress menyediakan pelbagai alat untuk penyelidikan dan pembetulan masalah (debugging tools). Pertama sekali, anda boleh…wp-config.phpAktifkan mod pembangunan (debug mode) dalam fail tersebut.WP_DEBUGKonstanta ditetapkan kepadatrueIni akan menunjukkan ralat PHP, amaran, dan notis pada halaman web. Untuk penyelidikan yang lebih kompleks, anda boleh menggunakan alat yang sesuai.error_log()Fungsi tersebut akan merekod maklumat ke dalam log ralat pada pelayan, atau menggunakan alat pembangunan profesional seperti Query Monitor untuk melihat butiran terperinci mengenai pertanyaan pangkalan data, pelaksanaan fungsi tertentu (hook), dan pengambilan skrip.

Bagaimanakah saya boleh mengeluarkan plugin yang saya bangunkan ke direktori plugin rasmi WordPress?

Untuk mengeluarkan plugin ke direktori rasmi WordPress.org, anda perlu membuat akaun di WordPress.org terlebih dahulu dan kemudian menghantar plugin tersebut. Plugin anda mesti memenuhi piawaian dan garis panduan kod rasmi, termasuk menggunakan lesen yang serasi dengan GPLv2 atau versi yang lebih baru, mengikuti amalan terbaik keselamatan, dan mengandungi ulasan dokumen yang lengkap. Selepas penghantaran, pasukan semakan plugin akan meninjau plugin tersebut, dan jika diluluskan, ia boleh diterbitkan. Setelah diterbitkan, pengguna boleh mencari, memasang, dan mengemas kini plugin anda terus dari panel kawalan WordPress mereka.

Bagaimana untuk membuat halaman tetapan pengurusan untuk plugin saya?

Anda boleh menggunakan “Settings API” dari WordPress untuk membuat halaman pengurusan yang teratur dan selamat. Langkah-langkah utama termasuk:add_menu_page()add_submenu_page()Fungsi tersebut mendaftarkan halaman menu baru, dan kemudian menggunakannya.add_settings_section()add_settings_field()Mari kita definisikan kawasan tetapan (setting area) dan bidang-bidang (fields) yang diperlukan. Akhir sekali, gunakan…register_setting()Daftar untuk menetapkan dan mengaktifkan ciri penyimpanan automatik serta pengesahan. Proses ini memastikan keselamatan halaman tetapan dan keserasian dengan antaramuka pengurusan WordPress.