Autore

WordPress e le opzioni nascoste

Opzioni nascoste di wordpress Se vi siete mai chiesti, come me, se fosse possibile realizzare un’interfaccia per la gestione delle opzioni di WordPress allora questo è il post(o) che fa per voi. Non è necessario nessun plugin e non è necessario nessun tweak di WordPress. Non lo si può definire nemmeno un easter egg (non bisogna fare alcuna magia per farlo apparire) dato che è ben accessibile a chiunque lo voglia. Si tratta del pannello di amministrazione delle opzioni che WordPress offre nativamente.

Si tratta di un pannello nascosto (non linkato) che permette di accedere a tutte le opzioni del nostro CMS (quelle contenute nella tabella options per intenderci) in modo rapido ed indolore.

Tutto quello che bisogna fare è accedere al pannello di amministrazione della propria installazione di WP ed aprire il file options.php (es. http://www.miosito.com/wp-admin/options.php). Troppo facile per dimenticarlo.

L’unica pecca di questa interfaccia è l’impossibilità di aggiungere o cancellare le opzioni. Una gestione del genere sarebbe stata sicuramente un’ottimo strumento per la personalizzazione avanzata dei temi.

F.

{ Nessun Commento }

Ottimizzazione siti web, 1a puntata – lo schema 'data:'

L’ottimizzazione di un sito web spazia trasversalmente dalla banale ottimizzazione delle immagini alle più spinte configurazioni lato server. Per questa ragione non basta un semplice post per coprire in modo sufficiente un argomento così vasto ed articolato.

Per cominciare diamo per scontato che si conoscano gli accorgimenti base per l’ottimizzazione di un sito web e si voglia andare oltre adottando strategie più aggressive e sicuramente meno conosciute tra cui l’oggetto di questo post: lo schema URI ‘data:

Si tratta di una tecnologia introdotta nell’ormai lontano 1998 e ancora ora poco usata che si rivela molto utile nell’inclusione delle immagini all’interno di una pagina web.

Che cosa fa?
Lo schema data: permette di includere il contenuto delle immagini direttamente all’interno delle pagine web sotto forma di testo. Un tipico tag html come questo:

La mia bellissima immagine JPEG

diventa quindi qualcosa di leggermente più complicato come:

La mia bellissima immagine JPEG

Dove ‘data:’ indica al browser che stiamo per includere dei dati direttamente dentro il tag, ‘image/jpeg‘ indica il tipo di contenuto che stiamo per inserire (in questo caso una jpeg) secondo la convenzione MIME, ‘charset=‘ indica quale set di caratteri stiamo usando mentre ‘base64‘ indica il tipo di codifica utilizzata per rappresentare i dati inclusi.

Quali i vantaggi e quali gli svantaggi?
L’idea di introdurre i dati che compongono le immagini direttamente dentro i tag può sembrare un controsenso quando parliamo di ottimizzare una pagina web per spremere fino all’ultimo byte. Tuttavia questa tecnica porta con sè un grosso vantaggio: includere le immagini con questa tecnica permette di non dover richiamare le immagini esterne tramite richieste HTTP riducendo di fatto il numero di richieste totali necessarie al caricamento della vostra pagina web.

Uno dei fattori critici nella velocità di caricamento di una pagina web è rappresentato dal numero di oggetti in essa inclusi. Più oggetti significano più richieste. Più richieste significano tempo di attesa per il vostro visitatore considerando anche che molti browser moderni limitano le connessioni concorrenti dallo stesso host a 2. A fronte di un aumento di dimensione del codice sorgente della vostra pagina otterrete quindi un evidente diminuizione del numero di richieste HTTP e conseguente aumento di velocità di caricamento della pagina.

Implementazione pratica
Ovviamente pensare di includere manualmente il contenuto di un’immagine dentro l’HTML è impensabile. Per questo motivo ci viene in aiuto PHP:



Elefanto!

Con questa semplice funzione sarà possibile usare lo schema data: in modo semplice senza intaccare la leggibilità del codice (almeno lato sorgente ;) ).

Fonti:
http://en.wikipedia.org/wiki/Data_URI_scheme
http://tools.ietf.org/html/rfc2397

{ 2 Commenti }

Il loop di WordPress con query SQL personalizzate

Il Codex di WordPress, si sa, è una miniera inesauribile di informazioni per usare al meglio questo potente strumento di pubblicazione. Una delle funzioni più importanti e potenti (e meno documentate) a mio avviso è la funzione setup_postdata.

Grazie a questa funzione è possibile utilizzare delle query SQL personalizzate per ottenere delle viste dati che il classico loop di WordPress non sarebbe in grado di gestire. Per utilizzare questa funzione è necessario modificare la classica struttura del loop di wordpress facendolo diventare simile a questo:

posts wposts, $wpdb->postmeta wpostmeta
	WHERE wposts.ID = wpostmeta.post_id
	AND wpostmeta.meta_key = 'tag'
	AND wpostmeta.meta_value = 'email'
	AND wposts.post_status = 'publish'
	AND wposts.post_type = 'post'
	ORDER BY wposts.post_date DESC
	";

	// # Estraiamo i dati tramite la classe db di WordPress
	$pageposts = $wpdb->get_results($querystr, OBJECT);

?>

Oooops

D'oh! dove diamine sono gli articoli?

Vediamo come funziona il tutto in dettaglio:
1. Scriviamo la nostra fantastica ed utilissima query SQL
2. Creiamo il nostro oggetto “$postdata” usando la classe layer di gestione database integrata in WordPress
3. Modifichiamo il loop in modo da sostituire il while con un foreach e chiamiamo ad ogni iterazione la funzione setup_postdata prima di gestire/stampare qualunque dato

Per i campi standard del post ovviamente sarà possibile usare le funzioni template classiche di WordPress (the_content, the_title, the_time etc) mentre per richiamare i campi non standard (quelli estratti tramite la nostra query personalizzata) sarà sufficiente usare le proprietà dell’oggetto $post (esempio $post->mio_campo_estratto_con_la_custom_query)

Approfondimenti:
http://justinvincent.com/docs/ezsql/ez_sql_help.htm [English]
http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query [English]

{ 2 Commenti }

Pagina 5 di 5« Prima...345