All in one (js & css)

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();
&#91;/php&#93;

Am salvat script.php în folderul &#91;acro js&#93; 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ă?

  1. Dacă nu este admin, ștergem bindul default pentru jQuery (care este prin wp-includes/js/jquery);
  2. Definim din nou jQuery, precizând path-ul spre scriptul de mai sus;
  3. 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.

WordPress custom taxonomy reminder

Azi m-am jucat pentru prima dată cu taxonomiile custom din WordPress. O explicație bună despre ce sunt și cu ce se mănâncă taxonomiile găsești aici. Cum nu mă descurcam singur, am cerut și eu ajutor pe unde am apucat :D

Pe lângă asta, a trebuit să instalez și să customizez un pic și câteva plugin-uri: wp-print, wp-mail și alte câteva care nu au relevanță.

Și ce, te lauzi?

Well… Nu mă laud. Doar că am avut ceva probleme atât cu plugin-urile cât și cu taxonomiile. Din motive neștiute de mine primeam 404. Permalink-urile funcționau, am dat undo la toate modificările făcute, degeaba. Nu mai intra în „the loop”.

Într-un moment de geniu (bine, unii ar spune disperare, dar nu e așa!), am zis să refac permalink-urile. Așadar, din /%post_id%/%postname% le-am făcut /%post_id%/%postname% (exact, n-am modificat nimic!), am dat save și… Surpriză! A început să meargă :|

Așadar, dacă vreodată ai astfel de probleme… Dă un „save changes” în pagina de permalinks. S-ar putea să ai noroc!

Și dacă te întrebi de unde mi-a venit ideea cu taxonomiile, răspunsul este Digging Into WordPress. :)

CSS Reset

De multe ori am fost întrebat care e cea mai bună metodă de a reseta toate elementele CSS. Dacă în urmă cu doi-trei ani foloseam *{ margin:0; padding:0;}, de la o vreme am început să folosesc CSS Reset-ul lui Eric Meyer. Apoi am început să mai adaug câteva chestiuțe:

  • Clearfix
  • Resetarea font-size-ului la 10px. Astfel, 1em = 10px, ceea ce face totul mult mai ușor de calculat (mai ales dacă faci layout-uri flexibile)
  • Centrarea verticală a input-urilor radio și checkbox. Pe browserele adevărate va merge fără nimic altceva. Pe IE6 va trebui să adaugi class="radio" fiecărui element

Folosesc acest reset de ceva timp și n-am avut nicio problemă, prin urmare… recomand :)

Citeste mai departe »

windows apple dropbox facebook twitter