Pregunta

En mi complemento, quiero a prueba para ver si jQuery o Prototype (o ambas cosas) van a ser cargados por otro plugin. Por lo tanto, tienen wp_enqueue_script('jquery') o wp_enqueue_script('prototype') ya se ha llamado.

Tengo código apropiado a mi plug-in de archivos plugin.prototype.js y plugin.jquery.js y si se pone en cola Prototipo, mi complemento a utilizar plugin.prototype.js. De esta manera puedo evitar cargar más de lo necesario en el sitio. Si ninguno ha cargado, voy a poner en cola el que sea menor.

¿Cómo puedo probar para ver lo que se ha hecho cola? ¿Cómo me aseguro de que mi código se ejecuta pasado?

¿Fue útil?

Solución

Uso wp_script_is() para comprobar si un script está en la cola.

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');

Otros consejos

Para asegurarse de que sus carreras después de código jQuery o Prototype está cargado, utilice el parámetro $deps a wp_enqueue_script, y pasar bien array('jquery') o array('prototype'). Si desea saber si un script está en la cola, puede utilizar el método query() de WP_Dependencies ( que es la superclase de WP_Scripts ). Así que algo como esto debería funcionar:

global $wp_scripts;
$jQueryIsLoaded = (bool) $wp_scripts->query('jquery');
$prototypeIsLoaded = (bool) $wp_scripts->query('prototype');

Por supuesto, los plugins podría poner en cola después de que se decidiera por uno, a fin de tratar de asegurarse de que ejecuta este cheque en el último momento posible.

Licenciado bajo: CC-BY-SA con atribución
scroll top