Pembangunan plugin WordPress: panduan teknikal teras dan praktikal dari pemula hingga mahir.

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

Asas Pembangunan Plugin WordPress dan Persediaan Persekitaran

Plugin WordPress ialah pakej kod berasingan yang memperluas fungsi teras WordPress. Untuk memulakan pembangunan, anda mesti menyediakan persekitaran pembangunan tempatan yang profesional. Ini biasanya termasuk memasang perisian pelayan tempatan (seperti XAMPP, MAMP atau Local by Flywheel), editor kod (seperti VS Code atau PhpStorm), dan pemasangan WordPress untuk ujian. Menggunakan persekitaran tempatan dapat mengelakkan risiko pembangunan eksperimen pada laman web dalam talian.

Selepas semuanya sudah bersedia, mencipta plugin pertama sangat mudah. Hanya perlu di dalam WordPress.wp-content/pluginsBuat folder baru di bawah direktori, sebagai contohmy-first-pluginKemudian, cipta satu fail PHP utama dalam folder tersebut, yang biasanya mempunyai nama yang sama dengan nama folder tersebut. Awal file utama ini mesti mengandungi komen-komen header standard, yang merupakan kunci untuk WordPress mengenali plugin tersebut.

Struktur wajib bagi fail utama plugin.

File utama plugin merupakan titik masuk untuk plugin tersebut, dan blok komen di bahagian atasnya mengandungi sekumpulan metadata. Di antaranya,Plugin NameIni adalah satu-satunya medan yang diperlukan, dan ia akan dipaparkan dalam senarai plugin di backend WordPress. Plugin paling asas hanya boleh mengandungi maklumat header ini, tanpa sebarang kod yang sebenarnya beroperasi.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan lengkap untuk pembangunan plugin WordPress: dari pemula hingga mahir, tutorial praktikal.

Berikut ialah kod contoh untuk fail plugin paling ringkas:

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.
<?php
/**
 * Plugin Name: 我的第一个插件
 * Description: 这是一个用于学习的简单WordPress插件。
 * Version: 1.0.0
 * Author: 你的名字
 * License: GPL v2 or later
 * Text Domain: my-first-plugin
 */

Selepas menyimpan kod di atas, log masuk ke halaman “Plugins” di WordPress dan anda akan dapat melihat plugin baru ini dan mengaktifkannya. Walaupun ia tidak akan melakukan apa-apa untuk sekarang, ini menandakan permulaan rasmi proses pembangunan.

Mekanisme utama: pengait tindakan dan penyaring.

Falsafah utama pembangunan plugin WordPress ialah “hook”, yang membenarkan kod anda untuk “terhubung” ke proses teras WordPress pada masa tertentu atau untuk data tertentu. Hook terutamanya terbahagi kepada dua kategori: tindakan (Actions) dan penyaring (Filters).

Pengait tindakan melaksanakan fungsi kustom anda apabila peristiwa tertentu berlaku, seperti selepas siaran artikel, semasa memuatkan skrip di bahagian atas halaman, dan sebagainya. Mereka digunakan untuk “melakukan sesuatu”. Gunakanadd_action()Fungsi boleh memasang fungsi anda kepada pengait tindakan yang ditentukan.

Gunakan pengait tindakan untuk menambah fungsi

Sebagai contoh, jika anda ingin menambahkan teks khusus di bahagian bawah laman web, anda boleh menggunakanwp_footerPengait tindakan ini. Pertama, anda perlu menulis fungsi tersuai dalam fail plugin utama, dan kemudian menggunakannya.add_action()Ikat ia kepada pengait.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Menguasai pembangunan plugin WordPress: Membina plugin kustom pertama anda dari awal hingga akhir.

Di bawah ini adalah contoh pelaksanaan:

Fungsi myplugin_add_footer_text() {
    echo '<p style="text-align:center;">Terima kasih kerana menggunakan laman web ini!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' );

Apabila WordPress melaksanakanwp_footerApabila pengguna mengklik pada pautan tersebut, fungsi tersebut akan dipanggil secara automatik.myplugin_add_footer_text()Fungsi, outputkan teks yang anda definisikan.

Menggunakan pengait penyaring untuk mengubah suai data.

Pengait penyaring digunakan untuk mengubah suai data. Mereka memproses data sebelum ia digunakan (seperti menyimpannya dalam pangkalan data atau mengeluarkannya ke pelayar). Mereka digunakan untuk “mengubah sesuatu”. Gunakanadd_filter()Menggunakan fungsi untuk mengaplikasikan penyaring. Sebagai contoh, untuk mengubah semua tajuk artikel, anda boleh menambahkan prefiks sebelum ia dipaparkan.

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

Kod di bawah ini menunjukkan cara menambahkan prefiks “[Disyorkan]” ke semua tajuk artikel:

function myplugin_modify_title( $title ) {
    if ( is_single() ) {
        $title = '[推荐] ' . $title;
    }
    return $title;
}
add_filter( 'the_title', 'myplugin_modify_title' );

Mencipta halaman pengurusan belakang untuk plugin.

Banyak plugin memerlukan pilihan konfigurasi untuk pengguna, yang memerlukan penciptaan menu pentadbiran dan halaman tetapan di backend WordPress. WordPress menyediakan satu set fungsi untuk menambah menu utama atau item sub-menu.

Tambah menu pengurusan tahap atas

Anda boleh menggunakanadd_menu_page()Fungsi ini mencipta menu latar belakang berasingan untuk plugin anda. Fungsi ini memerlukan beberapa parameter, termasuk tajuk halaman, tajuk menu, kebenaran pengguna, nama samaran menu, fungsi panggilan balik untuk menjana kandungan halaman, dan lain-lain.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Pelajari cara membangunkan plugin WordPress dari awal, langkah demi langkah.

Di sini, fungsi panggilan semulamyplugin_settings_page_htmlBertanggungjawab untuk mengeluarkan kandungan HTML untuk halaman tetapan.

Kod untuk menambah menu biasanya perlu diletakkan di tempat yang sesuai dalam kod sumber aplikasi.admin_menuAksi ini akan dipanggil pada hook, untuk memastikan ia dijalankan semasa antaramuka pengurusan diinisialisasi.

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.

Mencipta halaman persediaan dan borang keselamatan.

Dalam fungsi panggilan balik halaman tetapan, anda perlu mengeluarkan borang dan memproses penyerahan borang. WordPress menyediakan API tetapan untuk memudahkan proses ini, yang boleh mengendalikan pendaftaran, penyimpanan, dan paparan pilihan dengan selamat. Namun, untuk memahami prinsip asasnya, mari kita lihat contoh mudah mengendalikan penyerahan borang secara manual terlebih dahulu.

Kod di bawah ini menunjukkan cara mencipta halaman tetapan yang mudah yang mengandungi kotak input, dan menyimpan data dengan selamat:

function myplugin_settings_page_html() {
    // Memeriksa keizinan pengguna
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    // Memproses penghantaran borang
    if (isset( $_POST['myplugin_option'] )) {
        // Memeriksa keselamatan: mengesahkan nombor rawak
        check_admin_referer( 'myplugin_save_settings' );
        // Membersihkan dan menyimpan data
        $option_value = sanitize_text_field( $_POST['myplugin_option'] );
        update_option( 'myplugin_custom_option', $option_value );
        echo ' <ms> Fungsi myplugin_settings_page_html() {
    // Memeriksa keizinan pengguna
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    // Memproses penghantaran borang
    if (isset( $_POST['myplugin_option'] )) {
        // Memeriksa keselamatan: mengesahkan nombor rawak
        check_admin_referer( 'myplugin_save_settings' );
        // Membersihkan dan menyimpan data
        $option_value = sanitize_text_field( $_POST['myplugin_option'] );
        update_option( 'myplugin_custom_option', $option_value );
        echo '<div class="notice notice-success"><p>Tetapan telah disimpan!</p></div>'
    <div class="wrap">
        <h1>Tetapan-tetapan plugin saya</h1>
        <form method="post" action="">
            <?php wp_nonce_field( 'myplugin_save_settings' ); ?>
            <label for="myplugin_option">Pilihan:</label>
            <input type="text" id="myplugin_option" name="myplugin_option" value="<?php echo esc_attr( $saved_value ); ?>" />
            <p>
        <input type="hidden" name="trp-form-language" value="ms"/></form>
    </div>
    &lt;?php
}

Pembangunan lanjutan dan penerbitan plugin.

Apabila fungsi plug-in menjadi lebih kompleks, pengaturan kod yang baik adalah amat penting. Adalah disyorkan untuk menggunakan pemrograman berorientasikan objek (OOP) untuk mengepalkan fungsi plug-in dalam kelas. Ini akan membantu mengelakkan konflik nama fungsi dan membuat struktur kod lebih jelas dan mudah untuk diselenggara.

Pengantarabangsaan plugin adalah kunci untuk menjangkau seluruh dunia. Gunakan__()_e()Fungsi-fungsi tersebut akan membungkus semua teks yang ditujukan kepada pengguna dan menghantarnya melaluiload_plugin_textdomain()Mengimport fail penterjemahan. Tetapkan dengan betul dalam komen kepala plugin.Text DomainItu juga penting.

Preparasi sebelum pelancaran plugin.

Sebelum mengemukakan plugin ke direktori rasmi atau mengedarkannya, perlu dilakukan ujian menyeluruh. Ini termasuk ujian keserasian dengan versi PHP yang berbeza, versi WordPress, serta pelbagai tema dan kombinasi plugin. Kod harus mematuhi standard pengekodan WordPress dan menyediakan perlindungan keselamatan, serta mengesahkan, membersihkan dan menyahkan semua input pengguna.

Menulis kod yang jelas untuk plugin.README.txtDokumen, yang menerangkan fungsinya, kaedah pemasangan, Soalan Lazim, dsb. Akhirnya, kod akan dibungkus dalam fail ZIP, yang boleh dihantar ke direktori plugin WordPress.org atau diedarkan di laman web anda sendiri.

RINGKASAN

Pembangunan plugin WordPress bermula dengan memahami mekanisme pengaitan asas, kemudian bergerak ke penciptaan antara muka pengurusan, menyusun struktur kod, dan akhirnya melakukan penerbitan yang selamat. Menguasai penggunaan pengait tindakan dan penyaring adalah amat penting, kerana ia menjadi jambatan untuk berinteraksi dengan WordPress. Sama ada menambahkan fungsi ringkas atau membina plugin komersial yang rumit, mematuhi standard pengekodan selamat, melakukan ujian yang mencukupi, dan mempertimbangkan pengantarabangsaan merupakan kunci kejayaan. Dengan berlatih secara berterusan, anda akan dapat mencipta plugin WordPress yang kuat, stabil, dan popular.

FAQ - Soalan Lazim

Adakah saya perlu belajar PHP sebelum membangunkan plugin?

Ya, mempunyai pengetahuan asas PHP adalah syarat penting untuk pembangunan plugin WordPress. Kerana WordPress itu sendiri dan kebanyakan pluginnya ditulis dalam PHP. Anda perlu memahami sintaks, fungsi, variabel, array, pengaturcaraan berorientasikan objek dan konsep-konsep lain dalam PHP untuk menulis dan men-debug kod plugin dengan berkesan.

Bagaimana untuk mengelakkan nama fungsi plugin saya bertentangan dengan plugin lain?

Amalan terbaik untuk mengelakkan konflik nama fungsi adalah dengan menggunakan pengaturcaraan berorientasikan objek, dan mengemas semua fungsi anda dalam kaedah kelas. Jika menggunakan pengaturcaraan prosedural, anda harus menambahkan awalan unik kepada semua nama fungsi, biasanya berkaitan dengan nama plugin atau singkatan, sepertimyplugin_mp_Ini dapat mengurangkan kemungkinan konflik penamaan dengan banyaknya.

Mengapa pengaturan plugin saya hilang setelah saya menyegarkan halaman selepas menyimpannya?

Ini biasanya disebabkan oleh pengesahan nombor rawak untuk penyerahan borang yang tidak dilakukan dengan betul. Sebelum menyimpan data borang, anda mesti menggunakancheck_admin_referer()wp_verify_nonce()Fungsi untuk mengesahkan nombor rawak, memastikan permintaan berasal dari sumber yang betul dan mencegah serangan pemalsuan permintaan lintas tapak. Jika pengesahan gagal, WordPress akan menghalang penyimpanan data.

Bagaimana untuk membuat teks dalam plugin saya diterjemahkan ke bahasa lain?

Anda perlu melakukan pengantarabangsaan untuk semua rentetan yang menghadap pengguna dalam plugin. Gunakan__()Fungsi tersebut mendapatkan terjemahan untuk rentetan tersebut, atau menggunakan_e()Fungsi tersebut akan mengeluarkan terjemahan secara langsung. Anda juga perlu melakukan ini semasa menginisialisasi plugin (seperti memasangnya ke dalam ).plugins_loadedPanggilan kepada pengaitload_plugin_textdomain()Menggunakan fungsi untuk memuat fail bahasa yang sesuai. Alat seperti Poedit dapat membantu anda menciptanya..potFile-file templat dan.po/.moMenterjemahkan dokumen.