Construcción
Falta para nuestra inaguración:
01/11/2025 12:00 AM

WP: Insertar un archivo JavaScript con código

Podemos insertar el siguiente código en el archivo functions.php de nuestro theme, este código también es válido en la construcción de un plugin que requiere un archivo .js.

add_action("wp_enqueue_scripts", "dcms_insertar_archibo_js");

function dcms_insertar_archibo_js(){
    
    wp_register_script('miscript', get_stylesheet_directory_uri(). '/js/archibojs.js', array('jquery'), '1', true );
    wp_enqueue_script('miscript');
    
}

En el código anterior:

  • La función add_action usa el Hook wp_enqueue_scripts el cual ejecutará la función dcms_insertar_archibo_js que posteriormente codificaremos.
  • La función wp_register_script sirve para registrar el script.
    • El primer parámetro es el ID, lo usamos para poner en cola el script, para desregistralo, o para marcar dependencia.
    • El segundo parámetro es la ruta en donde esta el archivo archibojs.js, usaremos una función get_template_directory() de WordPress para encontrar la url completa.
    • El tercer parámetro es un array y se usa para definir las dependencias, en nuestro caso es dependiente del manejador o ID jquery, quiere decire que nuestro script se debe cargar luego de la librería jQuery por que posiblemente usaremos algunas funciones de jQuery dentro.
    • El cuarto parámetro es la versión, esto se concatenará a la url en el código HTML, es muy útil cuando actualizamos nuestro script para que el navegador no mantenga en cache la versión anterior.
    • El parámetro final es un booleano, indica si el script se insertará en la parte superior como parte del header o en la parte final del código luego del body, esto es muy útil para optimización, google recomienda insertar los scripts siempre al final (valor true).
  • La función wp_enqueue_script sirve para poner en cola el script, es en esta función en donde realmente el script será mostrado en el front-end del sitio, usa como parámetro el manejador o ID definido en el registro.

 
El código anterior carga el archivo de manera global.

Podemos agregar funciones de comprobación como is_single para cargar este archivo sólo en determinadas páginas; por ejemplo para cargar el archivo .js sólo en el detalle de las entradas, nuestro código quedaría como:

add_action("wp_enqueue_scripts", "dcms_insertar_archibo_js");

function dcms_insertar_archibo_js(){
    //Cargar sólo en las entradas
    if (is_single()){
    	wp_register_script('miscript', get_stylesheet_directory_uri(). '/js/archibojs.js', array('jquery'), '1', true );
    	wp_enqueue_script('miscript');
    }
    
}

Deja una respuesta