Cara Membuat Plugin WordPress Kustom

Diterbitkan: 2022-02-24

Mencari cara untuk membuat plugin WordPress khusus? Dalam tutorial ini, kami akan menunjukkan cara membuat plugin WP dari awal yang memungkinkan Anda menghapus beberapa elemen dari halaman produk WooCommerce.

Sebelum kita melalui prosesnya, mari kita lihat mengapa Anda mungkin perlu membuat plugin WordPress khusus terlebih dahulu.

Mengapa Membuat Plugin Kustom di WordPress?

Kita semua tahu bahwa ada banyak sekali plugin gratis dan berbayar yang tersedia di WordPress. Semuanya dikembangkan dengan berbagai fitur untuk meningkatkan fungsionalitas situs web Anda. Namun, beberapa fitur plugin mungkin tidak diperlukan untuk situs web Anda dan dapat bertindak sebagai bobot tambahan untuk kerangka kerja Anda.

Terkadang, yang Anda butuhkan hanyalah alat dengan fitur yang sangat spesifik. Tetapi beberapa plugin sangat kelebihan beban dengan fitur tambahan sehingga Anda tidak dapat menggunakannya secara maksimal. Dalam kasus ini, Anda bisa membuat plugin WordPress kustom Anda sendiri.

Misalnya, katakanlah Anda ingin menghapus elemen pada halaman produk Anda atau halaman WooCommerce lainnya menggunakan plugin khusus. Sebagian besar plugin akan memberi Anda beberapa fitur tambahan selain menghapus elemen. Ini akan meningkatkan ukuran plugin serta penyimpanan situs web yang dapat menghambat kinerja situs web Anda juga.

Tentu saja, Anda juga dapat menggunakan skrip CSS atau kait WooCommerce untuk menghapus elemen juga. Tetapi mereka mungkin membawa beberapa masalah ke situs web Anda jika Anda memperbarui tema WordPress Anda tanpa eksekusi yang tepat. Tetapi jika Anda membuat plugin khusus, modifikasi cenderung menghambat situs web Anda dalam keadaan apa pun.

Bagaimana Cara Membuat Plugin WordPress Kustom?

Seluruh proses untuk membuat plugin WordPress kustom cukup mudah dari yang Anda kira. Tapi mari kita mulai dengan beberapa hal yang harus kita ingat sebelum kita membuat plugin kustom.

1. Bersiap untuk memulai

Ada sejumlah persyaratan yang harus Anda penuhi untuk membuat plugin WordPress kustom. Mereka:

  • Instalasi WordPress di server localhost

Meskipun Anda dapat mengembangkan plugin di server langsung, praktiknya sangat buruk saat situs web online. Jika Anda membuat perubahan yang tidak perlu pada situs web, itu mungkin mengalami beberapa masalah parah. Jadi untuk mencegahnya, Anda perlu menyiapkan lingkungan pengujian localhost untuk membuat plugin WordPress khusus jika Anda belum memilikinya.

  • Gunakan editor kode

WordPress hadir dengan editor plugin bawaan untuk menambahkan dan memodifikasi kode untuk plugin Anda. Anda dapat bekerja dengannya untuk membuat WordPress kustom juga. Tetapi kami menyarankan menggunakan editor kode (IDE) seperti Sublime Text, Visual Studio Code, atau editor serupa.

Mereka memiliki banyak alat dan fitur yang diperlukan untuk membuat plugin khusus. Oleh karena itu, jauh lebih nyaman bekerja dengan IDE karena mereka akan jauh lebih baik daripada menggunakan editor kode WP.

  • Beberapa pengetahuan dasar pengembangan WP.

Untuk membuat plugin WordPress kustom, kita akan menggunakan kait WP, fungsi PHP, dan kita akan mendefinisikan fungsi kita sendiri. Jadi kami menyarankan Anda untuk melanjutkan tutorial ini hanya jika Anda memiliki pengetahuan dasar tentang pengembangan WordPress. Jika tidak, mungkin akan sangat sulit bagi Anda untuk mengembangkan plugin khusus sendiri.

Ini adalah beberapa persyaratan dan sumber daya dasar yang Anda perlukan untuk membuat plugin khusus. Pastikan semua persyaratan ini terpenuhi sebelum kita melanjutkan tutorial.

2. Buat File Utama untuk Plugin WordPress Kustom

Langkah pertama untuk membuat plugin WordPress kustom adalah membuat file utama plugin. Faktanya, hanya satu file utama yang diperlukan untuk membuat plugin. Itu harus memiliki blok komentar dengan nama plugin.

Ini adalah satu-satunya nilai yang dibutuhkan oleh WP agar dapat mengenali bahwa ini adalah sebuah plugin. Namun, untuk mengikuti praktik yang baik dan menghindari masalah, kita perlu memasukkan beberapa informasi lain di sini.

file utama buat plugin wordpress khusus

Jadi mari kita mulai mengerjakannya dan membuat file ini.

Buka folder publik localhost Anda dan menuju ke instalasi WP yang akan Anda kerjakan. Kemudian, navigasikan ke folder " wp-content/plugins " dan Anda akan melihat semua plugin yang diinstal di sana

Kami hanya akan menambahkan file plugin kustom baru kami di sini.

Buat folder baru di bawah folder wp-content/plugins dari instalasi WP Anda. Untuk memudahkan pemahaman, kami telah menamai plugin QuadLayers_custom_products dalam tutorial ini.

nama plugin

Di dalam folder ini, semua file plugin Anda akan ditemukan. Jadi, mari kita buat file utama kita langsung ke folder yang baru saja kita buat. Itu harus dalam format file .php

file utama

File utama ini, yang kami beri nama QuadLayers_cp.php , di mana semuanya dimulai. Ini adalah pintu dari plugin. Anda dapat menggunakan editor kode untuk membuat file, tetapi pastikan file tersebut memiliki ekstensi PHP dan diformat dengan benar sebagai file PHP.

Salin dan tempel kode ini pada file:

 <?php

/**
 * @link https://quadlayers.com/
 * @sejak 0.0.1
 * @paket Produk Kustom QuadLayers
 * Nama Plugin: Produk Kustom QuadLayers  
 * URI Plugin: https://quadlayers.com/
 * Deskripsi: Sesuaikan satu halaman produk dengan menghapus elemen
 * Versi: 0.0.1
 * Penulis: QuadLayers
 * Domain Teks: qlcp
 */
 
if(!defined('ABSPATH')){die('-1');}

fungsi mulai(){ 		
        jika(is_admin()==benar){
        memerlukan plugin_dir_path( __FILE__ ).'includes/Backend/QuadLayers-backend-init.php';
        }
        memerlukan plugin_dir_path( __FILE__ ).'includes/Frontend/QuadLayers-frontend-init.php';
 }  
fungsi runit(){
    add_action('init','mulai');
}
menjalankannya();

Seperti yang Anda lihat, kami hanya memanggil dua file lagi dari sini: QuadLayers-frontend-init.php dan QuadLayers-backend-init.php . Jelas, satu akan bekerja di frontend, dan yang lainnya di backend masing-masing. Anda dapat dengan jelas menyimpulkannya dengan nama file mereka.

Di luar itu, kami dapat memastikan bahwa file backend hanya akan berfungsi di backend karena kami menggunakan kondisional dengan fungsi is_admin() . Artinya hanya akan terpicu saat admin berada di dasbor admin WP.

Saat ini, Anda akan memiliki beberapa kesalahan di situs web Anda karena file frontend dan backend belum ada. Jadi mari kita lanjutkan dan buat mereka.

Buat folder baru di dalam direktori plugin bernama includes . Kemudian, tambahkan dua folder lagi di dalamnya: backend dan frontend .

Untuk menghilangkan kesalahan jalur yang salah, buat dua file kosong, masing-masing di dalam setiap folder ini: QuadLayers-backend-init.php di dalam folder backend, dan QuadLayers-frontend-init.php di folder frontend.

Jadi, ini akan menjadi struktur file plugin terakhir kami:

 QuadLayers_custom_products
    __QuadLayers_cp.php
    __termasuk
       __Latar Belakang
          __QuadLayers-backend-init.php
       __Depan
          __QuadLayers-frontend-init.php

3. Opsi Backend

Setelah Anda menambahkan file utama, kita dapat mulai menambahkan opsi backend plugin. Di sini, kita akan membuat tab menu plugin di dasbor admin WP. Ini akan memungkinkan pengguna untuk memilih beberapa opsi untuk menyembunyikan atau menampilkan elemen di ujung depan.

Kami akan menggunakan API pengaturan yang disediakan oleh WP untuk demonstrasi ini. Jangan khawatir jika Anda belum memahaminya karena tidak begitu sulit untuk dipelajari dan ada banyak dokumentasi tentangnya.

Jika Anda ingin mempelajari lebih lanjut tentang ini, berikut adalah panduan lengkap untuk WP Settings API

Untuk saat ini, cukup salin dan tempel kode berikut pada file QuadLayers-backend-init.php

 <?php 
add_action('admin_init', 'QuadLayers_display_options'); 
add_action('admin_menu', 'QuadLAyers_cp_AdminMenu'); 
fungsi QuadLAyers_cp_AdminMenu(){ 
    add_menu_page( __('QuadLayers Custom Products', 'qlcp'), __('QuadLayers Custom Products', 'qlcp'), 'manage_options', 'qlcp', 'QuadLayersOptionsPage' ); 
} 
function QuadLayersOptionsPage() { 
    ?> <form action="options.php" method="post"> <?php 
    settings_fields('plugin_QL_Page'); 
    do_settings_sections('plugin_QL_Page'); 
    kirim_button(); 
    </form><?php
}

fungsi QuadLayers_display_options(){
        
    register_setting('plugin_QL_Page', 'qlcp_options', 'callbackValidation');

    tambahkan_pengaturan_bagian(
        'QuadLayers_pluginPage_section',
        __('Opsi Backend QuadLayers', 'qlcp'),
        'QuadLayersSettingsSectionCallback',
        'plugin_QL_Page'
    );
    tambahkan_pengaturan_bidang(
        'QuadLayers_checkbox_field_1',
        esc_attr__('Judul', 'qlcp'),
       'QuadLayersCheckboxRender_1',
        'plugin_QL_Page',
        'QuadLayers_pluginPage_section'
    );
    tambahkan_pengaturan_bidang(
        'QuadLayers_checkbox_field_2',
        esc_attr__('Jumlah', 'qlcp'),
       'QuadLayersCheckboxRender_2',
        'plugin_QL_Page',
        'QuadLayers_pluginPage_section'
    );
    tambahkan_pengaturan_bidang(
        'QuadLayers_checkbox_field_3',
        esc_attr__('SKU', 'qlcp'),
       'QuadLayersCheckboxRender_3',
        'plugin_QL_Page',
        'QuadLayers_pluginPage_section'
    );
    tambahkan_pengaturan_bidang(
        'QuadLayers_checkbox_field_4',
        esc_attr__('Meta', 'qlcp'),
       'QuadLayersCheckboxRender_4',
        'plugin_QL_Page',
        'QuadLayers_pluginPage_section'
    );
    tambahkan_pengaturan_bidang(
        'QuadLayers_checkbox_field_5',
        esc_attr__('Tab Deskripsi', 'qlcp'),
       'QuadLayersCheckboxRender_5',
        'plugin_QL_Page',
        'QuadLayers_pluginPage_section'
    );
    tambahkan_pengaturan_bidang(
        'QuadLayers_checkbox_field_6',
        esc_attr__('Harga', 'qlcp'),
       'QuadLayersCheckboxRender_6',
        'plugin_QL_Page',
        'QuadLayers_pluginPage_section'
    );
}

fungsi QuadLayersSettingsSectionCallback(){
    echo wp_kses_post('Halaman pengaturan untuk plugin kustom QuadLAyers');
}

fungsi QuadLayersCheckboxRender_1(){
    $pilihan = get_option('qlcp_options'); 
    ?>
    <input name="qlcp_options[QuadLayers_checkbox_field_1]" type="checkbox" /> 
    dicentang <?php } ?>nilai = "1">    
}

fungsi QuadLayersCheckboxRender_2(){
    $pilihan = get_option('qlcp_options'); 
    ?>
    <input name="qlcp_options[QuadLayers_checkbox_field_2]" type="checkbox" /> 
    dicentang <?php } ?>nilai = "1">    
}

fungsi QuadLayersCheckboxRender_3(){
    $pilihan = get_option('qlcp_options'); 
    ?>
    <input name="qlcp_options[QuadLayers_checkbox_field_3]" type="checkbox" /> 
    dicentang <?php } ?>nilai = "1">    
}

fungsi QuadLayersCheckboxRender_4(){
    $pilihan = get_option('qlcp_options'); 
    ?>
    <input name="qlcp_options[QuadLayers_checkbox_field_4]" type="checkbox" /> 
    dicentang <?php } ?>nilai = "1">    
}

fungsi QuadLayersCheckboxRender_5(){
    $pilihan = get_option('qlcp_options'); 
    ?>
    <input name="qlcp_options[QuadLayers_checkbox_field_5]" type="checkbox" /> 
    dicentang <?php } ?>nilai = "1">    
}

fungsi QuadLayersCheckboxRender_6(){
    $pilihan = get_option('qlcp_options'); 
    ?>
    <input name="qlcp_options[QuadLayers_checkbox_field_6]" type="checkbox" /> 
    dicentang <?php } ?>nilai = "1">    
}

Sekarang, muat ulang layar backend atau aktifkan plugin Anda dan Anda akan melihat tab baru di bilah sisi menu dasbor.

buat backend admin plugin wordpress khusus

API pengaturan WP akan menyimpan larik dengan semua opsi ini di tabel database wp_options . Anda dapat memeriksanya dengan membuka PHPMyAdmin di localhost Anda dan mencarinya di atas meja.

Karena ini adalah data yang baru dibuat, itu harus ditemukan di akhir tabel

basis data opsi qlcp

Tentu saja, array qlcp_options kosong pada database pada tangkapan layar di atas. Ini karena semua kotak centang tidak dicentang saat ini. Anda dapat mencoba memeriksa beberapa di antaranya dan kembali ke PHPMyAdmin untuk melihat bagaimana pengaturan WP API menyimpan data.

tes opsi qlcp
Sekarang kita dapat menyimpan array opsi pada database, kita perlu mengambil opsi ini dan menggunakannya di frontend. Opsi ini akan memungkinkan pengguna untuk menyembunyikan atau menampilkan berbagai elemen situs web Anda.

4. Opsi Tampilan Depan

Untuk menambahkan opsi frontend, cukup salin dan tempel kode berikut pada file QuadLayers-frontend-init.php .

Ini akan mengambil data dari database, yang disimpan oleh file backend di sana dalam sebuah array.

Setelah ini, ia akan menyembunyikan elemen tertentu dari halaman produk, berdasarkan opsi mana yang benar pada larik opsi.

 <?php

$pilihan = get_option('qlcp_options');

if(!is_string($options)):
    // Judul
    if(isset($options['QuadLayers_checkbox_field_1'])){       
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
    }

    // Kuantitas
    if(isset($options['QuadLayers_checkbox_field_2'])){        
        add_filter( 'woocommerce_is_sold_individually',
            fungsi ( $pengembalian, $produk ) {
                kembali benar;
            }, 10, 2 
        );
    }

    // SKU
    if(isset($options['QuadLayers_checkbox_field_3'])){        
        add_filter( 'wc_product_sku_enabled', 
            fungsi ( $diaktifkan ) {          
                kembali $diaktifkan;
            } 
    );
    }
    
    // Meta
    if(isset($options['QuadLayers_checkbox_field_4'])){
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
    }
    
    // Tab Deskripsi
    if(isset($options['QuadLayers_checkbox_field_5'])){
        add_filter( 'woocommerce_product_tabs', 
        fungsi ( $tab ) {
            unset( $tabs['deskripsi'] );
            kembali $tab;
            }, 11 
        );         
    }

    // Harga
    if(isset($options['QuadLayers_checkbox_field_6'])){
        add_filter( 'woocommerce_get_price_html', 
        fungsi ($harga){         
            kembali ;
            }
        );        
    }
berakhir jika;

Kami melampirkan semua kode dalam if(is_string($options)) conditional. Oleh karena itu, kita dapat memeriksa apakah tidak ada kotak centang yang dicentang, dalam hal ini nilai database akan berupa string. Kemudian, kita tidak perlu menjalankan kode ini sama sekali.

Juga, perhatikan bahwa kami menggunakan fungsi anonim. Ini bekerja persis sama dengan fungsi bernama. Tapi kami baru saja membuat kode yang lebih singkat untuk panduan ramah pemula ini.

Jadi, jika ada beberapa nilai yang disimpan di database, masing-masing fungsi kode ini akan menghapus elemen tertentu tergantung pada indeks spesifik dari array database yang ada.

Penting bagi Anda, sebagai pemula, untuk memahami bagaimana kita berinteraksi dengan database. Dua file kami berinteraksi dengannya, tetapi file-file ini tidak terhubung di antara mereka. Anda bahkan dapat menghapus satu file dan file lainnya akan tetap berfungsi karena database masih memiliki nilai yang diperlukan.

Dan itu saja. Pada titik ini, Anda harus dapat membuat plugin WordPress khusus untuk memilih elemen mana yang akan disembunyikan atau ditampilkan di halaman produk.

bagian belakang

plugin wordpress kustom backend

Paling depan

plugin wordpress kustom frontend

Kesimpulan

Ini adalah panduan kami tentang cara membuat plugin WordPress khusus. Plugin khusus sangat membantu jika Anda ingin memiliki fitur yang sangat spesifik untuk situs web Anda dan tidak ingin mengacaukan situs Anda dengan fitur luar biasa dari plugin WP khusus.

Untuk meringkas, ini adalah langkah-langkah utama untuk membuat plugin khusus:

  1. Buat File Plugin Utama
  2. Tambahkan Opsi Backend
  3. Tambahkan Opsi Frontend

File plugin utama itu sendiri harus berisi file backend dan frontend untuk plugin kustom. Kemudian, Anda dapat menambahkan lebih lanjut opsi backend plugin diikuti dengan opsi frontendnya. Kami telah membuat plugin khusus untuk menyembunyikan elemen halaman produk. Namun, Anda dapat memodifikasi lebih lanjut file-file ini untuk membuat plugin dengan fitur-fitur khusus yang Anda butuhkan.

Meskipun demikian, jika Anda masih ingin menggunakan plugin khusus, Anda juga dapat melakukannya. Tetapi dalam kasus plugin berbayar, Anda harus menginstal plugin secara manual. Anda bahkan dapat menggunakan plugin seperti WooCommerce Direct Checkout dan WooCommerce Checkout Manager untuk menyembunyikan elemen di halaman lain seperti halaman checkout.

Sementara itu, berikut adalah beberapa posting kami yang mungkin menarik bagi Anda:

  • Plugin Checkout WooCommerce Terbaik
  • Cara Membuat Tautan Pembayaran Langsung WooCommerce
  • Plugin Terbaik untuk Melengkapi Otomatis Pesanan WooCommerce

Kami harap Anda dapat mengembangkan plugin khusus di WooCommerce tanpa masalah sekarang. Silakan bagikan pengalaman Anda kepada kami di komentar.