Saya ingin tahu apakah itu praktik yang baik sesuai dengan tema WordPress atau pengembangan plugin.
add_action('init','all_my_hooks');
function all_my_hooks(){
// some initialization stuff here and then
add_action('admin_init',-----);
add_action('admin_menu',----);
// more like so
}
Terima kasih
hooks
customization
init
admin-init
atinder
sumber
sumber
wp_loaded
dan info MS.Saya tidak melihat manfaat besar dari praktik ini, karena alasan ini:
Fungsi panggilan balik Anda tidak dipanggil saat mendaftar
Fungsi
add_action
danadd_filter
hanya menambahkan entri ke variabel global$wp_filter
yang menampung semua filter dan tindakan. Lihat sumber . Itu tidak memanggil fungsi Anda. Kode Anda akan berjalan hanya ketikado_action
danapply_filters
dipanggil (dengan nama kait yang sesuai), yang terjadi sangat terlambat di tempat kait itu seharusnya.Anda mungkin mengatakan bahwa hal itu akan membuat variabel global
$wp_filter
menjadi lebih besar => lebih banyak memori yang dibutuhkan. Tapi saya pikir membuat fungsi baru memiliki masalah yang sama.Kode pengorganisasian
Menempatkan semuanya dalam satu fungsi memaksa Anda untuk mengingat semua kait di setiap file di tema / plugin Anda. Anda tidak akan melakukan hal seperti ini:
header.php
: tambahkan fungsi kait dan panggilan balik untuk hal-hal yang terjadi di header (seperti menu, skrip pendaftaran)content.php
: tambahkan fungsi kait dan panggilan balik untuk memfilter kontenadmin-menu.php
: tambahkan fungsi hooks dan callback untuk menambahkan menu admin(anggap file-file itu dimasukkan ke dalam tema / plugin Anda)
Alih-alih itu, Anda harus:
header.php
,content.php
,admin-menu.php
=> Itu akan membuat Anda sulit untuk mengetahui apa yang terjadi ketika Anda melihat konten
header.php
file. Anda harus mencari tahu kapan panggilan balik ini dipecat.Dan pikirkan situasi ketika Anda memiliki beberapa kelas di tema / plugin Anda. Apakah Anda menempatkan semua kait semua kelas di satu tempat? Atau apakah setiap kelas memiliki fungsi pembungkus yang menampung semua kait? Itu terlalu berlebihan!
Atas alasan ini, saya pikir itu gaya pribadi :). Saya melihat beberapa kerangka kerja seperti Hybrid melakukan apa yang Anda katakan. Kadang-kadang itu membuat saya sulit untuk digg dalam kerangka itu!
sumber