Advertisement
  1. Code
  2. WordPress

Kait Inisialisasi WordPress: Manfaat dan Kesalahan Umum

Scroll to top
Read Time: 7 min

Indonesian (Bahasa Indonesia) translation by Ridho Aulia (you can also view the original English article)

Dalam pemrograman, inisialisasi data adalah penting karena ini adalah tempat kita menyiapkan prasyarat untuk aplikasi seperti atributnya, file dan data yang diperlukan, koneksi ke database, dan sebagainya.

WordPress sendiri memiliki prosedur inisialisasi yang didefinisikan dengan baik. Melalui siklus hidup halaman, WordPress memicu sejumlah tindakan yang banyak yang telah kita tutup di artikel sebelumnya. Untuk itu, ia menyediakan satu set kait inisialisasi yang secara alami digunakan untuk menginisialisasi aplikasi sebelum menjalankan fungsi utamanya.

Sebagai pengembang plugin dan tema, penting untuk memahami kasus penggunaan dan kesalahan umum dari kait inisialisasi ini, untuk membangun aplikasi yang berkualitas.

Pada artikel ini, kita akan melihat pentingnya kaitan inisialisasi WordPress dan bagaimana penggunaannya dalam berbagai skenario.


Pengantar Kait Inisialisasi

WordPress menyediakan beragam kait yang dapat digunakan dalam pengembangan plugin dan tema.

Dalam permintaan halaman yang khas, semua kaitan dilakukan dieksekusi dalam urutan tertentu. Secara khusus, semua kait dieksekusi setelah aplikasi WordPress inti melengkapi proses pemuatannya.

Jadi kait inisialisasi terutama digunakan untuk, Anda dapat menebaknya, menginisialisasi proses dalam plugin dan tema. Mari kita lihat kait init yang tersedia di WordPress, sesuai urutan pelaksanaannya:

  • Init berjalan setelah WordPress selesai loading tapi sebelum header apapun yang dikirim. Umumnya, ini digunakan oleh plugin untuk menginisialisasi proses mereka.
  • widgets_init digunakan untuk mendaftarkan widget sidebar aplikasi. Fungsi register_widget dieksekusi dalam kait ini.
  • admin_init dijalankan sebagai tindakan pertama, ketika pengguna mengakses bagian admin WordPress. Secara umum, ini digunakan untuk menginisialisasi pengaturan khusus untuk area admin.
Terlepas dari tiga pengait ini, ada pengait lain yang disebut admin_bar_init, yang dijalankan setelah bilah administrasi diinisialisasi. WordPress Codex tidak memberikan penjelasan tentang kait ini, dan tidak banyak plugin menggunakan kait ini.

Anda juga dapat meninjau seluruh proses eksekusi kait tindakan WordPress di Codex.

WordPress mengeksekusi setiap hook dalam urutan tertentu (yang dapat Anda lihat di Codex). Karena itu, penting untuk mempertimbangkan urutan kejadian dalam menggunakan setiap kait tindakan. Pertimbangkan skenario berikut untuk mengidentifikasi perbedaan.

Mendefinisikan admin_init Inside The init Hook

Jika perlu, kita dapat mendefinisikan kait WordPress di dalam kait lain. Dalam permintaan tipikal, kait init berjalan sebelum admin_inithook. Jadi mari kita coba output sesuatu dengan menempatkan admin_initinside init hook:

Setelah mengeksekusi kode ini, kita akan mendapatkan output yang diinginkan menggunakan pernyataan echo

Mendefinisikan init Inside The admin_init Hook

Mari kita lihat kode dan output dari skenario ini di mana hook sebelumnya didefinisikan di dalam hook yang datang kemudian dalam urutan eksekusi.

Di sini, kita tidak akan mendapatkan keluaran apa pun - ini diharapkan - karena kait init dijalankan sebelum admin_init hook, dan karenanya tidak tersedia setelah mendefinisikan kait admin_init.

Seperti yang Anda lihat, sangat penting untuk memahami prosedur pelaksanaan kait untuk membangun plugin yang sukses. Urutan kejadian penting untuk semua kait di WordPress.


Menjelajahi Hook init dan admin_init

Di antara kait init, init dan admin_init perlu ditelusuri karena kedua kait ini digunakan secara luas di banyak plugin. Penggunaan kait inisialisasi lainnya sangat mudah dibandingkan dengan dua kait ini.

Dengan demikian, kita akan melihat fungsionalitas kait init dan admin_init.

Init hook dieksekusi di setiap permintaan untuk both frontend situs WordPress serta backend.

Kait admin_init dieksekusi setelah bagian admin menyelesaikan proses pemuatannya. Jadi kail ini juga dijalankan pada setiap dan setiap permintaan halaman admin. Pengguna harus masuk untuk memanfaatkan kait ini.

Karena keduanya kait ini dijalankan pada setiap permintaan, kami harus merencanakan fungsi dalam pelaksanaan ini kait sesuai seperti yang ia sangat dapat berdampak performa situs.

Cara Menggunakan init Hooks

Secara umum, kait inisialisasi tersedia di sebagian besar plugin WordPress yang ada, dan mereka penting untuk mengelola pemrosesan mereka.

WordPress tidak mendefinisikan apa yang harus kita dan apa yang tidak boleh kita sertakan; Oleh karena itu, pengembang dapat membuat kesalahan kecil yang, pada gilirannya, dapat mengakibatkan penurunan kinerja yang sangat besar. Pada bagian ini, kita akan melihat bagaimana kita dapat menggunakan kait init dan admin_init secara efektif.

Mari kita lihat praktik terbaik dalam menggunakan kait init.

Init hook

  • Registering custom post types - WordPress merekomendasikan penggunaan kait init untuk mendaftarkan jenis kiriman khusus baru.
  • Initializing your plugin configurations and settings - Konfigurasi dan pengaturan plugin perlu didefinisikan dalam setiap dan setiap permintaan dan karenanya merupakan praktik yang baik untuk memasukkannya ke dalam kait ini.
  • Accessing user submitted data (using $_GET and $_POST) - Kami dapat mencegat data yang dikirimkan pengguna tanpa tindakan apa pun, tetapi disarankan untuk menggunakan kait init karena menjamin eksekusi di setiap permintaan.
  • Adding new rewrite rules - Kita dapat menetapkan aturan penulisan ulang baru menggunakan kait init, tetapi perlu diingat bahwa aturan baru ini hanya akan berlaku setelah kami menyapu aturan penulisan ulang.
  • Add or remove custom actions - Plugin berisi banyak tindakan khusus untuk memperluas fungsi. Akan ada skenario di mana kita perlu menambahkan tindakan kustom baru serta menghapus yang sudah ada. Dalam kesempatan seperti itu, sangat penting untuk mengimplementasikan aktivitas-aktivitas tersebut dalam init hook.
  • Load plugin text domain - WordPress menawarkan dukungan multi-bahasa dan karenanya kami diizinkan memuat file yang berisi string yang diterjemahkan. Ini juga harus ditempatkan di dalam init hook.

Admin_init hook

  • Access control - ini sangat penting untuk memeriksa perizinan login pengguna sebelum mengizinkan setiap pengguna akses ke spesifik seperangkat fitur atau fungsi. admin_init adalah tindakan pertama berjalan di admin area sehingga kita dapat menggunakannya untuk mengelola kontrol akses.
  • Adding new setting - Kita dapat menggunakan kait ini untuk menambahkan halaman pengaturan atau pengaturan baru ke panel pengaturan WordPress yang ada.

Ada banyak kemungkinan implementasi lain dengan kait ini, tetapi fitur-fitur tersebut memiliki kaitnya sendiri dan tidak perlu menggunakan kait inisialisasi.

Kesalahan Umum Menggunakan Kait Inisialisasi

Seringkali, kita menemukan skenario di mana pengembang salah memahami penggunaan kait inisialisasi. Penggunaan kait yang tidak benar dapat menyebabkan masalah kinerja yang serius (dan juga kualitas plugin yang rendah).

Mari kita kenali kesalahan umum dan cara menghindarinya:

  • Flushing rewrite rules - Ini adalah operasi intensif sumber daya tempat semua aturan penulisan ulang disiram dan disusun ulang untuk menambah yang baru dan menghapus aturan yang tidak perlu. Banyak pengembang menyiram aturan penulisan ulang di dalam tindakan init dan akhirnya menciptakan overhead kinerja yang tidak perlu dalam setiap permintaan. Kita harus menyiapkan cara untuk membilas aturan penulisan ulang secara manual menggunakan tombol atau menghapus aturan pada aktivitas yang jarang terjadi seperti menyimpan pengaturan plugin.
  • Accessing the database - Ini adalah suatu keharusan untuk mengakses database untuk menyediakan berbagai fungsionalitas, tetapi penting untuk mencegah panggilan database yang tidak perlu di dalam kait inisialisasi ketika dieksekusi pada setiap permintaan. Untuk itu, sangat ideal untuk menetapkan kait basis data dalam kait fungsionalitas khusus untuk menghindari overhead kinerja utama.
  • Executing upgrade routines - Plugin perlu memiliki rutinitas peningkatan untuk meningkatkan fitur-fiturnya untuk versi baru. Umumnya, pengembang menggunakan kait init untuk memeriksa versi dan pengaturan plugin sebelum menjalankan proses pemutakhiran. Kita dapat membiarkan pengguna memperbarui plugin dengan menyediakan layar khusus alih-alih memeriksa setiap permintaan secara otomatis.
  • Using init hooks instead of functionality specific hooks - Ini adalah kesalahan paling umum yang dilakukan oleh banyak pengembang. Ada banyak kait di WordPress yang menargetkan fungsionalitas unik dan berbeda. Sangat penting untuk menggunakan kait fungsionalitas khusus untuk menghindari konflik dan membuat kode dapat diperluas. Kait seperti init dan admin_init dapat digunakan daripada kait spesifik sehingga pengembang cenderung menggunakannya tanpa memiliki pengetahuan tentang efek penuh mereka. Beberapa skenario umum dimana pengembang menggunakan kait init dan admin_init bukan kait yang disarankan adalah sebagai berikut:
    • admin_menu - Kita dapat menambahkan halaman menu menggunakan fungsi add_menu_page. Disarankan untuk menggunakan kait admin_menu untuk membuat halaman admin. Tetapi banyak pengembang menggunakan admin_inithook karena dijalankan setelah admin_menu hook.
    • wp_enqueue_scripts - Cara yang disarankan untuk menambahkan gaya dan skrip adalah dengan menggunakan kait wp_enqueue_scripts. Tetapi banyak pengembang menggunakan wp_enqueue_script di dalam kait init untuk memuat skrip dan gaya.

Ada sejumlah situasi serupa di mana pengembang menggunakan init hook umum alih-alih fungsi spesifik hook dan itu harus dicegah sedapat mungkin.


Moving forward dengan Kait Inisialisasi

Kait inisialisasi WordPress memainkan bagian penting dalam pengembangan plugin dan tema. Banyak pengembang menyalahgunakan kait menciptakan overhead kinerja yang tidak perlu. Pada artikel ini, kita membahas penggunaan kaitan yang benar serta kesalahan umum dan bagaimana cara menghindarinya.

Sekarang kita dapat menerapkan teknik yang sama untuk memasang pengait khusus. Banyak plugin tingkat lanjut menggunakan kait tindakan mereka sendiri untuk menjadikannya ekstensi. Untuk plugin semacam itu, kita dapat mendefinisikan kait init khusus plugin untuk memungkinkan pengembang fokus pada tugas inisialisasi pada kait yang telah ditentukan alih-alih menggunakannya di semua tempat.

Jangan ragu untuk membagikan pengalaman Anda tentang penggunaan kait init yang tepat serta kesalahan dalam menggunakan kait inisialisasi. Berharap untuk melihat apa yang harus Anda bagikan dalam komentar!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.