Dec 272013
 

wordpress logo

Dopo aver parlato di come prelevare automaticamente la prima immagine di un articolo WordPress, eccoci con un nuovo argomento. Dite che non è possibile velocizzare dell’87% il caricamento delle pagine sul proprio sito WordPress? Beh io dico che vi sbagliate! Seguendo questa procedura che ho trovato su Internet, sono riuscito a comprimere le pagine di NetworkItalia riducendole addirittura dell’87%. Per esempio la pagina principale del sito inizialmente pesava circa 101kb, adesso pesa 14kb, il che vuol dire che se prima per una linea 56k (per intenderci, la vecchia linea telefonica) erano necessari circa 14 secondi per caricare la pagina, adesso ne bastano 2-3. In generale il rapporto di compressione che si ottiene è circa del 75%. Oltre a velocizzare il sito, questa tecnica permette anche di risparmiare banda (bandwidth). Adesso che vi ho riempito già abbastanza la testa di numeri, calcoli e percentuali, passiamo al concreto e vediamo come fare per attivare la compressione.

Requisito fondamentale

C’è un solo requisito di cui necessitiamo per attivare tale compressione che però è fondamentale. Il server sul quale risiede il nostro sito WordPress deve avere la libreriazlib abilitata. Di norma quasi tutti gli hosting web hanno questa libreria abilitata, verificarlo è tuttavia molto semplice.

  1. Creiamo un nuovo file con Blocco note e inseriamo al suo interno questa riga di codice:
  2. Salviamo il file con estensione .php facendo attenzione che non venga salvato come .php.txt
  3. Lo carichiamo dove vogliamo sul nostro spazio web
  4. Apriamo tale file e controlliamo se la voce zlib è su enabled

Se la voce è disabilitata non potremo attivare la compressione di cui abbiamo parlato finora.
Se la voce invece è abilitata, continuiamo con la nostra procedura.

Inseriamo il codice nel file .htaccess

Per attivare la compressione dobbiamo inserire queste poche righe di codice all’interno del file .htaccess che si trova di norma nella root del nostro sito, ovvero nella cartella principale.

# compressione zlib
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
<FilesMatch ".(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>

Il procedimento è ultimato. La velocità di caricamento delle pagine del nostro sito dovrebbe essere migliorata. Per averne conferma, utilizziamo questo tool gratuito e inseriamo l’URL del nostro sito nel campo Compression Check e premiamo sul pulsante Check. Si aprirà una finestra contenente varie informazioni fra cui anche il rapporto di compressione delle pagine che in media si aggira sul 75-80%. Io sono riuscito ad ottenere una compressione dell’87% circa.

Dec 272013
 

wordpress

Oggi vi mostro una funzione per WordPress che restituisce la prima immagine di un articolo in modo automatico. Tale funzione può esserci davvero d’aiuto nel caso volessimo far apparire in modo automatico una thumbnail (un anteprima) dell’articolo evitando di inserirla ogni volta manualmente. Nel mio caso l’ho utilizzata nella home del sito per avere un immagine per ogni articolo che accompagnasse le poche righe di riassunto dell’articolo.

La funzione

Il codice da inserire nel file functions.php del vostro tema, prima del tag finale ?> è il seguente:

/* Funzione che restituisce la prima immagine di un articolo. Nel caso non esista nessuna immagine all'interno dell'articolo, viene restituita un'immagine predefinita */  

function prendi_prima_immagine()
{
	global $post, $posts;
	$prima_img = '';
	ob_start();
	ob_end_clean();
	$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
	$prima_img = $matches [1] [0];
	if(empty($first_img)){
		// Definisco l'immagine di default nel caso non venga trovata nessuna immagine
		$prima_img = get_bloginfo('template_url') . "/images/default.jpg";
		// Il percorso dell'immagine predefinita è a partire dalla cartella del tema in uso
	}
	return $prima_img;
}

Se volete potete personalizzare alcuni parametri come per esempio il percorso e l’estensione del file immagine da assegnare di default. Alla riga 13 è presente tale stringa:

$first_img = get_bloginfo('template_url') . "/images/default.jpg";

Potete variarla per cambiare il nome del file e la sua estensione e, se siete un po’ più esperti, anche il percorso dell’immagine (anche se personalmente non vedo perchè dovreste cambiarla). Ovviamente dovete caricare un immagine a quell’indirizzo, altrimenti nel caso l’articolo non disponga di un immagine propria, non verrà visualizzato proprio nulla.

Come utilizzarla?

Adesso che abbiamo inserito la funzione.. Non ci resta che utilizzarla! Come facciamo a richiamarla? Semplice: posizioniamo dove vogliamo, in base ovviamente alla nostra esigenza, la seguente stringa:

<img src="<?php echo prendi_prima_immagine() ?>" />

Come potete notare, la funzione viene richiamata all’interno del tag HTML img, poichè la funzione in sè restituisce solamente l’indirizzo dell’immagine, sprovvisto del tagimage.

Possiamo ovviamente personalizzare la stringa in modo da renderla più completa magari aggiungendo i parametri alt e title (che andrebbero sempre compilati) o magari rendendola cliccabile come link.