Saya tidak melihat manfaat besar dari praktik ini, karena alasan ini:
Fungsi panggilan balik Anda tidak dipanggil saat mendaftar
Fungsi add_action
dan add_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 ketika do_action
dan apply_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:
- di
header.php
: tambahkan fungsi kait dan panggilan balik untuk hal-hal yang terjadi di header (seperti menu, skrip pendaftaran)
- di
content.php
: tambahkan fungsi kait dan panggilan balik untuk memfilter konten
admin-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:
- menempatkan fungsi hanya callback di
header.php
, content.php
,admin-menu.php
- dan letakkan semua kait dalam fungsi terpisah di file lain
=> 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!
wp_loaded
dan info MS.