Bu uygulamanın büyük yararlarını şu nedenlerle görmüyorum :
Kayıt olurken geri arama işlevleriniz çağrılmaz
add_action
Ve add_filter
işlevleri yalnızca genel değişkenin bir giriş eklemek $wp_filter
tüm filtreleri ve eylemleri tutar. Kaynağa bakın . İşlevi çağırmaz. Kodunuz çalışacaktır ancak ne zaman do_action
ve apply_filters
hangi olur, (uygun kanca adıyla) denir çok geç o kanca olmalıdır yerde.
Bunu yaptığınızda, global değişkenin $wp_filter
daha fazla bellek alması gerekir => daha fazla bellek gerekir. Ancak yeni bir işlev oluşturmanın aynı sorunu yaşadığını düşünüyorum.
Kodu düzenleme
Her şeyi bir işleve koymak , temanızdaki / eklentinizdeki her dosyadaki tüm kancaları hatırlamaya zorlar. Sen olmaz böyle bir şey yapmak:
- in
header.php
: başlıkta gerçekleşen şeyler için kancalar ve geri arama işlevleri ekleme (menü, kayıt komut dosyası gibi)
- in
content.php
: içeriği filtrelemek için kancalar ve geri arama işlevleri ekleme
admin-menu.php
: yönetici menüsü eklemek için kancalar ve geri arama işlevleri ekleyin
(bu dosyaların temanıza / eklentinize eklendiğini varsayın)
Bunun yerine şunları yapmanız gerekir:
- sadece callback fonksiyonlarını koymak
header.php
, content.php
,admin-menu.php
- ve tüm kancaları ayrı bir fonksiyona başka bir dosyaya koy
=> Bu, header.php
dosyanın içeriğine baktığınızda ne olacağını bilmenizi zorlaştıracaktır . Bu geri aramaların ne zaman tetiklendiğini bilmek için arama yapmanız gerekir.
Ve temanızda / eklentinizde birden fazla sınıfınız olduğunda durumu düşünün. Tüm sınıfların tüm kancalarını bir yere koyar mısın? Yoksa her sınıfın tüm kancaları tutan bir sarma işlevi var mı? Çok gereksiz!
Bu sebepten ötürü, kişisel tarz olduğunu düşünüyorum :). Hybrid'in söylediklerini yaptığı gibi bazı çerçeveler görüyorum. Bazen bu çerçevelere girmemi zorlaştırıyor!
wp_loaded
ve MS bilgileri.