Doğru bir şekilde kayıt ve sıraya koymak neden önemlidir
Olması gereken sürede - komut daha erken / stil aksi takdirde çok geç, sayfaya çıktı bulunmaya uygun olduğu;
şartlı olmalıdır - aksi takdirde ihtiyacınız olmayan şeyleri yüklüyorsunuz ve performans ve işlevsellik sorunlarına neden oluyorsunuz, çünkü bunun için geç aşamada WP ortamına ihtiyacınız var.
Sürecin üç aşaması
register - script / style ile ilgili WP detaylarını açıklar ve bu bilgiyi saklar;
enqueue - (genellikle bir wp_enqueue_*()
aramada kayıtla birlikte toplanır ) - bu, WP'ye ayarlarına göre (bağımlılıklar, başlık / alt bilgi yükleme) kuyruğa komut dosyaları / stil eklemesini söyler.
yazdır - bu, WP kuyruğu işlediğinde, kendine özel bir şey yüklemeye çalıştığında veya açıkça wp_print_*()
işlevi ile yaptığında olur .
Fonksiyonların ve kancaların ön uç yapısı
wp_head()
wp_footer()
wp_footer
- (10)
wp_print_footer_scripts()
Çok daha derine iniyor, ancak bu önemli noktalar için yeterince basit ve yeterli:
wp_enqueue_scripts
ön uçtaki komut dosyalarını ve stilleri kaydetmek ve sıraya koymak için en uygun kancadır ve özellikle bunun için vardır;
init
bununla hiçbir ilgisi yok, işe yarayacak, ancak - önceki Codex tavsiyesini yalnızca yanlıştı ;
wp_print_footer_scripts()
aramadan önce herhangi bir noktada altbilgi için kuyruk komut dosyaları (stiller değil) ile kurtulabilirsiniz ;
wp_print_*
Kancalar kayıt / sıraya uygun DEĞİLDİR , çıktı zaten olduğunda kodda işaret ederler. Manuel / özel komut dosyası / stil çıktısı için uygundurlar.
Peki ya yönetici?
Peki, işlevselliği daha karmaşık, ayrıntılı ve iç içe geçmiş durumda.
Yeni başlayanlar için, sadece admin_enqueue_scripts
kancayı kullanın ( $hook_suffix
şartlı şeyler için global hale gelir ) her şey için, çoğu durumda güzel bir şekilde yapacaktır;
Karmaşık bir şeye ihtiyacınız olduğunda - admin-header.php
uygun kancalar için oradan bakın ve kazın.
Peki ya giriş?
Adında belirli bir kanca var login_enqueue_scripts
.
admin_print_scripts-{xxx}
. Bununadmin_print_scripts
adı olduğunu öğrendim, ancak-{xxx}
örneğin.-edit.php
Örneğin. Bu nequequeing cevabıadmin_print_scripts-xxx
ve bunun yerine ne tavsiye edersiniz - Diyelim ki özel bir yazı tipi ekleme / düzenleme sayfasına (metabox için) komut dosyaları / stilleri eklemek istediğimi (metabox için)