wp_enqueue_script: ¿cómo cambiar el orden de carga de los scripts?

17 sept 2013, 13:25:23
Vistas: 16.8K
Votos: 7

Me gustaría saber cómo listar todos los scripts cargados en una página, ordenados por prioridad, y cambiar este orden.

1
Comentarios

Puedes hacer lo mismo usando el parámetro depends de la función wp_enqueue_script() http://codex.wordpress.org/Function_Reference/wp_enqueue_script

Vinod Dalvi Vinod Dalvi
17 sept 2013 13:28:57
Todas las respuestas a la pregunta 1
0

Cuando miras el código fuente de wp_enqueue_scripts() (o su función hermana de registro), verás que hay un global $wp_scripts que maneja todo el trabajo pesado.

Básicamente, la variable global es simplemente una instancia de WP_Scripts, que es una clase hija de WP_Dependency y puedes usar toda la magia de allí si no hay una API de más alto nivel disponible.

Para ver todos los scripts registrados, en cola, etc., simplemente:

var_dump( $GLOBALS['wp_scripts']->registered );

o haz lo mismo con enqueue. Afortunadamente tienes un argumento para ordenar tus recursos: dependencies. Así que si quieres que un script se cargue después de que jQuery haya sido cargado, simplemente añade una dependencia de array( 'jquery' ) al registrar o encolar tu script. Esa es la forma de ordenarlos en WordPress: hazlos dependientes unos de otros. Por cierto, el nombre de la dependencia siempre es simplemente el nombre con el que fue registrado, llamado "handle" (identificador).

17 sept 2013 15:48:25