Ne yapmalıyız?
İlk olarak WordPress’in wp_enqueue_script tanımını biraz detaylandıralım. Kullanım yapısı genel anlamda şu şekilde :
<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?>
Kısaca sırasıyla işlenen aracın adını, dizinini, varsa diğer eklentilerle ilişkilerini, versiyonunu ve Footer’da yer alıp almamasını belirtiyoruz.
function.php
Şimdi Function.php’yi açalım. Dosya içerisinde wp_enqueue_script diye arattığınızda aşağıdakine benzer yapılar göreceksinizdir.
wp_enqueue_script('bootstrapjs', get_template_directory_uri().'/js/bootstrap.min.js', array('jquery') );
Bu yapı temanıza ilgili dizindeki Bootstrap JavaScript dosyasını eklemekte. Ancak bunu </head>‘in üstüne yapmakta.
İlk işimiz array(‘jquery’) tanımını silmek olacak. Elimizde versiyon bilgisi de olmadığını varsayalım ve o kısmıda tırnakların içine bir şeyler yazmayarak boş bırakalım. Son olarak $in_footer tanımı için true değeri geçelim. Özetle üstteki wp-enqueue_script tanımını aşağıdaki gibi düzenleyelim.
wp_enqueue_script('bootstrapjs', get_template_directory_uri().'/js/bootstrap.min.js', false, '', true );
Şimdi dosyamızı kaydedip web sayfamızı kontrol edelim. Sizlerin de fark edebileceği gibi artık bootstrap.min.js<head> elemanını içerisinde değil, </body> nin hemen üstünde ekleniyor.
İşlem tamam.
Sonuç
Bu teknik sayesinde sadece JS dosyalarınızı değil, diğer tüm kalıp yapılarınızı Footer’a taşayabilirsiniz. Örneğin CSS dosyalarınızı aşağıya almak istiyorsanız wp_enqueue_style tanımı size yardımcı olacaktır. Aynı tekniği uygulayarak CSS dosyalarınızı da Footer’da tanımlanır hale getirebilirsiniz.
3 Yorum. Yeni Yorum
Merhaba. Teşekkürler evet oldukça başarılı bir çözüm. Ancak WordPress 2020 yılı için gerek temalarda gerek wp nin kendisinde oldukça fazla güncelleme gerçekleşti.Dolayısı ile gerek wp_enqueue_scripts gerekse wp_print_scripts artık yok. Peki şimdi nasıl olacak?. Bu durumda nasıl bir düzenleme yapacaz?
Selamlar, aslında wp_enqueue_scripts(1) ve wp_print_scripts(2) fonksiyonları halen aktif olarak kullanımda, dolayısıyla kullanmaya devam edebilirsiniz.
[1] https://developer.wordpress.org/reference/functions/wp_enqueue_scripts/
[2] https://developer.wordpress.org/reference/functions/wp_print_scripts/