Las entradas y salidas de la secuencia de comandos de cola para temas y complementos de WordPress

los wp_enqueue_script La función es la mejor solución para cargar archivos JavaScript en su sitio de WordPress. Si está desarrollando un tema que utiliza JavaScript o bibliotecas de JavaScript, el wp_enqueue_script La función es el camino a seguir. Sin embargo, si realmente no ha usado esto antes, puede haber confusiones ... así que hoy, analizaremos en detalle cómo cargar correctamente las secuencias de comandos en su tema o plugin usando la función de puesta en cola..

Cambios posteriores a las técnicas y software

Ciertos aspectos de las aplicaciones o técnicas utilizadas en este tutorial han cambiado desde que se publicó originalmente. Esto podría hacer que sea un poco difícil de seguir. Recomendamos ver estos tutoriales más recientes sobre el mismo tema:

  • Cómo incluir JavaScript y CSS en tus temas y complementos de WordPress

¿Por qué usamos la función de cola??

Si viene de un fondo HTML básico, es probable que esté acostumbrado a simplemente cargar archivos Javascript (incluyendo cualquier cosa, desde jQuery hasta scripts de complementos) directamente en el encabezado o pie de página de su documento. Eso está bien cuando estás en un entorno independiente como una página HTML básica ... pero una vez que introduces la miríada de otros scripts que podrían ejecutarse en una instalación de WordPress, es más difícil hacer lo que llamaré "gestión de multitudes" con tu guiones.

Entonces, ¿por qué no cargar su JavaScript en el encabezado o en el pie de página? La respuesta es bastante simple: al incluir su JavaScript de esa manera, corre el riesgo de tener conflictos con su JavaScript en su instalación (piense, varios complementos que intentan cargar los mismos scripts o diferentes versiones de ese script). Además, tu JavaScript se cargará en cada Página, incluso si no lo necesitas. Esto causará un tiempo de carga innecesariamente más largo para sus páginas, y puede interferir con otro JavaScript, como desde un complemento o dentro del panel de control ... y eso es un No No en el desarrollo de WP.

Utilizando el wp_enqueue_script función. Tendrás un mejor control sobre cómo y cuándo cargarás tu JavaScript. Incluso puede decidir si cargar en el encabezado o pie de página.


Entendiendo el wp_enqueue_script Función

los wp_enqueue_script La función es lo que carga los scripts en tu sitio de WordPress. Usualmente lo vas a usar en tu funciones.php expediente.

los wp_enqueue_script La función en sí es bastante sencilla, así que echemos un vistazo a su estructura.

wp_enqueue_script ($ handle, $ src, $ deps, $ ver, $ in_footer);

  • $ manejar
    • Este es el identificador (el nombre) del script que se cargará. Debe estar en minúsculas.
    • Esto es requerido
    • Predeterminado: Ninguno
  • $ scr
    • Esta es la URL del script.
    • Si está cargando localmente desde su servidor, no debe codificar la URL de los scripts en su servidor. Es mejor usar content_url, bloginfo ("template_url"), o get_template_directory_uri () (recomendado por la Referencia de funciones de WordPress) para temas, y plugins_url para plugins.
          
    • Si estás cargando tu script desde otro servidor. Por ejemplo, cargando la biblioteca jQuery desde el CDN de Google. Solo tienes que poner la URL del archivo a cargar..
       
    • Esto es opcional
    • Predeterminado: falso
  • $ deps
    • Esta es una matriz que maneja las dependencias de cualquier script. Por ejemplo, si su script fade.js requiere jQuery para ejecutarse. Este parámetro asociará su script a la biblioteca jQuery.
    • Usted usa "falso" si no quiere usar este parámetro, pero quiere usar otros parámetros.
       
    • El script requerido debe ser cargado primero.
    • Usas el manejador de script requerido para la matriz.
       
    • Esto es opcional
    • Predeterminado: array ()
  • $ ver
    • Esta es la versión de tu script..
    • La versión se concatena al final de la ruta como una cadena de consulta. La versión puede ser el número de versión, falso o NULL.
    • Si usas false para la versión. Se utilizará la versión de WordPress..
    • Si usas NULL. Nada será utilizado como una versión. Esto no es recomendado por la Referencia de Funciones de WordPress.
    • Si no usa el parámetro $ ver. La versión de WordPress se usará por defecto.
       
    • Esto es opcional
    • Predeterminado: falso
  • $ in_footer
    • Esto determinará dónde se colocará su script en la página..
    • Este parámetro es un booleano ("verdadero" o "falso")
    • Por defecto su guión será colocado en el , pero es mejor colocarlo justo antes del cierre de la etiqueta. Esto se logra al pasar "verdadero" al parámetro.
       
    • Esto es opcional
    • Predeterminado: falso

Como puedes ver, todos los parámetros excepto $ manejar son opcionales. A primera vista esto puede parecer extraño. Especialmente el $ scr parámetro. ¿Cómo puede WordPress localizar el script sin una URL??

La razón detrás de esto es que WordPress viene con scripts integrados. Por ejemplo, jQuery es parte del núcleo de WordPress, y el equipo de desarrollo de WordPress hizo que sea muy simple cargar estos scripts integrados. Todo lo que tienes que hacer es pasar el identificador del script a wp_enqueue_script.

 

Para obtener la lista completa de los scripts de WordPress integrados y sus controladores. Eche un vistazo a la Referencia de funciones de WordPress.


Uso de secuencias de comandos de cola con su tema de WordPress

Ahora que entiendes las partes de wp_enqueue_script. Veamos cómo realmente usas esto con tu tema de WordPress.

Lo primero es lo primero

Hay otras funciones de WordPress que debe conocer antes de poder comenzar a escribir scripts correctamente.

  • wp_register_script
    • los wp_register_script La función se utiliza para registrar su script con WordPress. Lo que esto significa es que podrás usar wp_enqueue_script para sus scripts al igual que los scripts incorporados que vienen con WordPress
    • La estructura de parámetros para wp_register_script es exactamente lo mismo que el wp_enqueue_script Estructura, así que no voy a repasarlo de nuevo. Puede consultar la sección anterior si es necesario.
    • Acaba de configurar wp_register_script tal como lo harías para wp_enqueue_script. Luego encolar el guión con wp_enqueue_script pasando el mango a ella.
       
  • wp_deregister_script
    • los wp_deregister_script elimina un script registrado.
    • Todo lo que necesitas hacer es pasarle la palanca..
       
  • wp_deregister_script
    • los wp_dequeue_script elimina un script registrado.
    • Todo lo que necesitas hacer es pasarle la palanca..
       

Cargando tus scripts

La forma más fácil de cargar su script es colocar el wp_enqueue_script donde tu quieras en tu pagina.

  

Bastante fácil, pero no elegante. Una mejor manera, es utilizar su archivo function.php para cargar sus scripts. Para hacer esto necesitas hacer una función personalizada. Entonces use add_action para inicializar tu función.

 
  • La línea 2 crea una función llamada load_my_scripts
  • La línea 3 registra el guión. myscript
  • La línea 4 encola el guión myscript
  • La línea 6 inicializa la función. load_my_scripts

La secuencia de comandos que acabamos de cargar necesita la versión actual de jQuery para ejecutarse, así que vamos a cancelar el registro de la versión predeterminada que viene con WordPress. Agregamos la nueva versión a nuestra función..

 
  • La línea 2 anula el registro de la jQuery predeterminada que viene con WordPress
  • La línea 3 registra otra versión de jQuery.
  • La línea 4 encola el guión myscript

OK, las buenas prácticas para la codificación de WordPress nos obligan a comprobar si existe una función antes de ejecutarla. Esto se logra así.

 

Esto verifica si su función ya existe. Si no lo hace, ejecutará su función.

Agreguemos esto a nuestro load_my_scripts función

 

Ahora, si vas a tu página de administrador, no quieres que tu script se cargue. Podría causar un conflicto y romper la página de administración. Una regla general es que no desea que sus scripts personalizados se carguen en la página de administración. Scripts para plugins es una historia diferente. Voy a repasar eso más tarde.

Vamos a comprobar si la página cargada es no La página de administración con! is_admin (). Si no es así, nuestros scripts se cargarán..

 

Ahora la función se ve así.

 

Hay que ir Una buena plantilla para que la utilices para poner en cola scripts


Uso de secuencias de comandos de cola para sus complementos

OK, ahora que tienes eso abajo. Agreguemos un script que solo se cargará en la página de administración de su complemento..

En realidad es muy simple. Simplemente escriba su función de script tal como lo hicimos en la sección anterior en el archivo de su complemento. Solo ahora, en lugar de usar 'init' en el add_action, use 'admin_init'.

 

Eso es todo, ahora su script solo se cargará cuando vaya a la página de administración de su plugin.


Conclusión

Espero que esto te ayude a entender mejor Encolar Scripts dentro de WordPress, así que ahora puedes salir y cargar algunos scripts propios!

Si hay algo que no entiendes o te gustaría leer. Recomiendo visitar el Codex de WordPress. Aquí hay una lista de otros enlaces de códice relevantes para ti también:

  • Referencia de funciones / secuencia de comandos wp
  • Referencia de funciones / wp register script
  • Referencia de funciones / wp deregister script
  • Referencia de funciones / wp dequeue script