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;
initbununla 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_scriptskancayı 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.phpuygun 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_scriptsadı olduğunu öğrendim, ancak-{xxx}örneğin.-edit.phpÖrneğin. Bu nequequeing cevabıadmin_print_scripts-xxxve 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)