Muchos de los plugins que instalamos en nuestros blogs agregan de forma automática scripts y estilos en el header Theme que usamos en el blog. Todo eso que se carga sin consultarnos en el header hace que haya mas requests y por lo tanto afecta directamente a la visualización y navegación ya que puede hacer que nuestro blog demore más en cargar.
Hay una forma de indicarle a WordPress que no permita agregar esos estilos y scripts atuomáticamente en nuestro header. Si bien todos los plugins pueden ser muy diferentes, la mayoría debe hacer uso de wp_enqueue_script() y wp_enqueue_style() para agregar esos scripts y estilos.
Para evitar elagregado de scripts debemos abrir el archivo principal del plugin. Una vez que tenemos dicho archivo hay que ubicar donde se encuentra la linea wp_enqueue_script.
Para ejemplificar usamos el plugin MailChimp List Subscribe Form, en el archivo principal encuentramos la linea que menciono arriba
wp_enqueue_script(‘mailchimpSF_main_js’, MCSF_URL.‘js/mailchimp.js’,
array(‘jquery’,‘jquery-form’), MCSF_VER);
Esto quiere decir que el plugin está agregando 3 scripts en el header de nuestro Theme:
– mailchimp.js
– jQuery
– jQuery-form
Para continuar debemos ubicar el handle, que es quien agrega estos sripts a nuestro header, en este caso el handel es: mailchimpSF_main_js.
Ahora debemos hacer un de-register para el plugin y crear un filtro nuevo, para esto pegamos en el archivo functions.php lo siguiente:
add_action( 'wp_print_scripts', 'deregister_javascript', 100 ); function my_deregister_javascript() { deregister_script( 'mailchimpSF_main_js' ); }
Una vez que guardemos esto solamente debemos incluir todos estos en nuestro script principal y así no se cargarán automáticamente en nuestro header.
Ahora si buscamos wp_enqueue_style encontraremos algo como
wp_enqueue_style(‘mailchimpSF_main_css’,
home_url(‘?mcsf_action=main_css&ver=’.MCSF_VER));
wp_enqueue_style(‘mailchimpSF_ie_css’, MCSF_URL.‘css/ie.css’);
Como verán se están cargando dos estilos, main_css y el condicional para Internet Explorer: ie_css
Fácilmente podemos incluir el contenido de main_css en nuestro archivo de estilos principal y el de ie_css en nuestro archivo de condicionales. Como notarán en este caso hay dos handles: mailchimpSF_main_css y mailchimpSF_ie_css, como en el caso de los scripts, agregamos lo siguiente en function.php:
add_action( 'wp_print_styles', 'deregister_styles', 100 ); function my_deregister_styles() { wp_deregister_style( 'mailchimpSF_main_css' ); wp_deregister_style( 'mailchimpSF_ie_css' ); }
Con esto evitamos que se carguen automáticamente estos dos estilos. Podemos reutilizar estos filtros y hacer todos estos pasos con los plugins que usemos para mantener una buena performance de nuestro blog.
Fuente: Eliseos
[…] This post was mentioned on Twitter by Samuel Gallegos. Samuel Gallegos said: Puerto Pixel – Como evitar que los plugins agreguen estilos y scripts http://bit.ly/eB1eD2 […]