في المكون الإضافي ، أريد اختبار لمعرفة ما إذا كان سيتم تحميل jQuery أو النموذج الأولي (أو كليهما) بواسطة مكون إضافي آخر. لذلك ، لديك wp_enqueue_script('jquery')
أو wp_enqueue_script('prototype')
تم استدعاؤها بالفعل.
لديّ رمز مناسب للمكون الإضافي الخاص بي في الملفات plugin.prototype.js
و plugin.jquery.js
وإذا تم وضع النموذج الأولي في قائمة الانتظار ، فسيستخدم المكون الإضافي الخاص بي plugin.prototype.js
. بهذه الطريقة أتجنب التحميل أكثر من اللازم في الموقع. إذا لم يتم تحميل أي منهما ، فسوف أقوم بالصفوف أيهما أصغر.
كيف يمكنني اختبار لمعرفة ما تم وضعه في قائمة الانتظار؟ كيف أتأكد من تشغيل الرمز الخاص بي؟
استخدم wp_script_is()
للتحقق مما إذا كان البرنامج النصي في قائمة الانتظار.
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');
للتأكد من تشغيل التعليمات البرمجية بعد تحميل jQuery أو Prototype ، استخدم المعلمة $deps
إلى wp_enqueue_script
، وقم بتمرير إما array('jquery')
أو array('prototype')
. إذا كنت تريد معرفة ما إذا كان البرنامج النصي في قائمة الانتظار ، يمكنك استخدام طريقة query()
من WP_Dependencies
( والتي هي الفئة الفائقة من WP_Scripts
). هكذا شيء من هذا القبيل يجب أن تعمل:
global $wp_scripts;
$jQueryIsLoaded = (bool) $wp_scripts->query('jquery');
$prototypeIsLoaded = (bool) $wp_scripts->query('prototype');
بالطبع ، يمكن أن تضيفها الإضافات بعد أن تقرر أحدها ، لذا حاول التأكد من تنفيذ هذا الفحص في آخر لحظة ممكنة.