Azi, în timpul unei „ședințe” de optimizare a unui blog la care am lucrat în ultima săptămână, s-a pus problema de a reduce la minim numărul de requesturi. De fapt eu am pus problema
Cum fișierele javascript au rămas singurele cu un număr mai mare de 1, cea mai la îndemână soluție a fost folosirea unui mic script php:
<?php header("Content-type: text/javascript");ob_start("ob_gzhandler"); $files = array( 'jquery-latest.min.js', 'ui.js', 'script.js' ); foreach($files as $file){ include_once $file; } ob_flush(); [/php] Am salvat script.php în folderul [acro js] din tema de wordpress în cauză (voi da și linkul când va fi gata) și am purces la editarea <code>functions.php</code>: if(!is_admin()){ wp_deregister_script('jquery'); wp_register_script('jquery', (get_bloginfo('stylesheet_directory').'/js/js.php'), false, '1.3.2', false); wp_enqueue_script('jquery'); }
Ce se întâmplă?
- Dacă nu este admin, ștergem bindul default pentru jQuery (care este prin
wp-includes/js/jquery
); - Definim din nou jQuery, precizând path-ul spre scriptul de mai sus;
- Re-binduim jQuery, astfel încât să poată fi folosit de alte plugin-uri.
În acest fel, ai în același fișier toate fișierele externe. Cu puțină îndemânare (care, drept să-ți spun, îmi cam lipsește în cazul PHP) poți include diferite fișiere, în funcție de ce pagină accesezi (de exemplu, poate nu ai nevoie de ui.js decât pe prima pagină) șamd.
Dar pentru CSS?
Poți face același lucru și pentru CSS dacă schimbi Content-type
în text/css
.
- Posted in:
- JavaScript,
- PHP,
- Tips & Tricks,
- WordPress