WordPress pone en cola scripts y estilos

2 minutos de lectura

WordPress pone en cola scripts y estilos
MPUserr

Uso un tema de WordPress de código abierto y quiero eliminar los estilos y scripts del archivo header.php y escribirlos correctamente. Agregué el siguiente código a mi archivo functions.php y no pasa nada.

function smarter_scripts() {

wp_enqueue_style( 'smarter-bootstrap', '//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css' );
wp_enqueue_style( 'smarter-font-awesome', '//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css' );
wp_enqueue_style( 'smarter-google-fonts-open-sans', '//fonts.googleapis.com/css?family=Open+Sans:600,400,300,700' );
wp_enqueue_style( 'smarter-google-fonts-josefin', '//fonts.googleapis.com/css?family=Josefin+Sans:400,600' );
wp_enqueue_style( 'smarter-style', get_template_directory_uri(). '/style.css' );

if (!is_admin()) {
// comment out the next two lines to load the local copy of jQuery
//wp_deregister_script('jquery'); 
//wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', false, '1.11.2'); 
wp_enqueue_script('jquery');    
}
// load a JS file from my theme: js/theme.js
wp_enqueue_script('smarter_script', get_template_directory_uri() . '/js/script.js', array('jquery'), '1.0', true);
wp_enqueue_script( 'smarter-bootstrap','//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js', array( 'jquery' ),  true );
}
add_action( 'wp_enqueue_scripts', 'smarter_scripts' );

Además, no puedo entender por qué cuando agrego complementos, los archivos CSS y JS no se cargan automáticamente en el tema. Tengo que agregar manualmente los archivos a los archivos header.php o footer.php para que funcionen los complementos. ¿Alguien sabe por qué pasa esto? (No soy un desarrollador de temas, pero estoy tratando de arreglar un tema que está usando mi empresa).

Referencia:

WordPress: cargando múltiples scripts con enqueue

  • wp_enqueue_script() solo funciona cuando el tema realmente llama al wp_head() función. ¿Puedes verificar para asegurarte de que el tema lo llame? seria entre los <head></head> etiquetas en el header.php expediente.

    – El caballero

    21 de agosto de 2015 a las 16:14


  • Faltaba eso. Lo agregué y ahora está funcionando. ¡Gracias!

    – MPUserr

    21 de agosto de 2015 a las 18:48

En función, use este código. antes de la función

 if ( ! function_exists( 'smarter_scripts' ) ) {

Luego, antes de cerrar esta condición, coloque este código.

add_action( 'wp_enqueue_scripts', 'smarter_scripts', 99);

En su archivo header.php, coloque debajo del código antes de la etiqueta

<?php wp_head(); ?>

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad