Eklentimde, jQuery veya Prototype (veya her ikisinin) başka bir eklenti tarafından yüklenip yüklenmeyeceğini test etmek istiyorum. Yani, var wp_enqueue_script('jquery')
veya wp_enqueue_script('prototype')
zaten çağrıldı.
Eklentime uygun plugin.prototype.js
ve plugin.jquery.js
dosyalarında kodum var ve Prototip kuyruğa alınırsa eklentim plugin.prototype.js
kullanacak. Bu şekilde siteye gereğinden fazla yükleme yapmaktan kaçınırım. Hiçbiri yüklenmediyse, hangisinin daha küçük olduğunu sıraya koyacağım.
Neyin sıralandığını görmek için nasıl test yapabilirim? Kodumun en son çalıştığından nasıl emin olabilirim?
Bir betiğin sırada olup olmadığını kontrol etmek için wp_script_is()
öğesini kullanın.
function add_my_scripts() {
$doing_jquery = wp_script_is('jquery', 'queue');
$doing_prototype = wp_script_is('prototype', 'queue');
var_dump($doing_jquery, $doing_prototype);
}
add_action('wp_print_scripts', 'add_my_scripts');
Kodunuzun jQuery veya Prototype yüklendikten sonra çalıştığından emin olmak için $deps
parametresini wp_enqueue_script
olarak kullanın ve array('jquery')
veya array('prototype')
komutlarını iletin. Bir betiğin sırada olup olmadığını bilmek istiyorsanız, query()
YÖNTEMINI WP_Dependencies
( kullanabilirsiniz; WP_Scripts
). Yani böyle bir şey çalışması gerekir:
global $wp_scripts;
$jQueryIsLoaded = (bool) $wp_scripts->query('jquery');
$prototypeIsLoaded = (bool) $wp_scripts->query('prototype');
Elbette, eklentiler siz karar verdikten sonra onları etkileyebilir, bu yüzden bu kontrolü en son anda yaptığınızdan emin olun.