WordPress 3.2, PHP e jQuery

La versione 3.2 di Wordpress introduce alcune novità da testare prima del prossimo aggiornamento.

Aggiornamento del 5 luglio 2011: è uscita la versione 3.2 di WordPress!

E’ stata rilasciata la versione beta 2 di WordPress 3.2, con alcune importanti novità. In attesa dell’uscita della release definitiva è stata inviata una comunicazione agli sviluppatori con l’invito a fare dei test: ci saranno infatti alcuni cambiamenti rilevanti, ed è bene che siano noti a tutti coloro che usano WordPress soprattutto in ambito lavorativo.

Continua a leggere WordPress 3.2, PHP e jQuery »

KnowCamp e WordCamp 2011 a Modena

Il 19 Marzo 2011 si terrà a Modena un nuovo barcamp dedicato a Wordpress, all’interno del KnowCamp.

Da venerdì 18 a domenica 20 Marzo si terrà a Modena il Knowcamp, evento che viene così descritto dagli organizzatori:

Il KnowCamp è un evento no-profit che si pone come obiettivo quello di offrire un’opportunità di condivisione di esperienze ed opinioni attorno a tematiche di forte attualità: il Sapere ed il Web. Sapere inteso come conoscenza ed informazione, da ricercare con motivazione ed apertura e da elaborare con senso critico. Per farne opinioni, idee, proposte da diffondere e condividere. In questo processo il Web si rivela strumento ideale: luogo libero ed aperto a ogni prospettiva, in cui ogni voce trova spazio ed eco.

Continua a leggere KnowCamp e WordCamp 2011 a Modena »

WordPress 3.1 e i Post Format

Come funzionano i nuovi formati dei post? Una semplice guida per iniziare ad utilizzarli sui propri temi.

E’ uscita da poco la versione 3.1 di WordPress che introduce numerose novità. Non mi voglio soffermare sulle specifiche di questa release perché ci sono già innumerevoli blog che ne parlano: per avere tutte le informazioni vi consiglio di leggere il sito ufficiale di WordPress.

La mia attenzione è rivolta soprattutto ad un nuovo elemento che è stato introdotto: i post format.

Continua a leggere WordPress 3.1 e i Post Format »

WordPress: personalizzare la pagina di scrittura post

Istruzioni per modificare la struttura delle pagine admin di Wordpress, nascondendo gli elementi inutili.

Se gestite un blog WordPress dando agli utenti la possibilità di registrarsi, avrete gli iscritti suddivisi su più ruoli. Normalmente WordPress mostra a tutti gli utenti registrati la stessa pagina di editing dei post, ma in alcuni casi potrebbe essere utile poterla personalizzare, nascondendo alcuni pannelli.

Sono infatti presenti dei box inutili per degli utenti alle prime armi: campi personalizzati, revisioni, trackback, tutti dettagli che creano solo confusione. E’ possibile modificare il layout delle pagine di amministrazione di WordPress tramite il pannello impostazioni schermo, ma è comunque una soluzione che solo gli utenti più esperti sono in grado di notare.

Continua a leggere WordPress: personalizzare la pagina di scrittura post »

WordPress: come aumentare il numero di risultati della ricerca

Tramite $query_string è possibile personalizzare a piacere il numero dei risultati della ricerca. Ecco delle applicazioni pratiche diverse dal solito.

Su WordPress c’è un parametro che decide per ogni pagina il numero di post da mostrare. All’interno del pannello di controllo, sotto Impostazioni – Lettura, esiste infatti la voce “Le pagine del blog visualizzano al massimo:” , che solitamente viene utilizzata per controllare il numero di post in homepage.

Questo parametro però non controlla solo il numero di post della home, ma limita anche il numero dei risultati della ricerca e le pagine corrispondenti al template archive.php (ad esempio la pagina delle categorie e dei tag).

Per modificare il numero di risultati restituiti (in questo caso 10) è sufficiente usare:

<?php query_posts($query_string.'&posts_per_page=10'); ?>

subito prima del loop:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

E’ fondamentale che sia presente il parametro $query_string per mantenere la query originale senza sovrascriverla, altrimenti vi verranno restituiti solo gli ultimi post invece dei risultati della ricerca.

In questo modo è possibile ad esempio avere un numero limitato di post sulla home del blog e 10-20 risultati sulla ricerca.

Altri usi di $query_string

Le query di WordPress possono essere personalizzate in altri modi, anche fuori dal classico loop. Se ad esempio in homepage volessimo mostrare due gruppi di tre post appartenenti esclusivamente a due diverse categorie possiamo scrivere:

<?php $my_query = new WP_Query($query_string.'showposts=3&cat=1&posts_per_page=3'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

[...]

<?php endwhile; ?>

e

<?php $my_query = new  WP_Query($query_string.'showposts=3&cat=2&posts_per_page=3');  ?>
<?php while ($my_query->have_posts()) : $my_query->the_post();  ?>

[...]

<?php endwhile; ?>

Il parametro cat è fondamentale per indicare quale categoria mostrare (il numero corrisponde all’ID della categoria), mentre showposts e posts_per_page indicano quanti articoli visualizzare, anche nelle pagine successive alla prima.

Non capita tutti i giorni di avere a che fare con query diverse dal solito, soprattutto lavorando a semplici blog, ma in certe situazioni è bene sapere come poter personalizzare WordPress secondo le proprie esigenze. Se siete interessati ad altre personalizzazioni o volete condividere delle scoperte che avete fatto con WordPress lasciate un commento, potremmo approfondire il discorso.

WordCamp Catania: il resoconto

Riflessioni sul WordCamp catanese del 18 giugno 2010, tra Wordpress 3.0 e nuovi incontri.

Il 18 giugno scorso ho partecipato al primo WordCamp italiano lontano da Milano: era la prima volta che veniva organizzato un barcamp su WordPress nel sud Italia, e mi ha fatto molto piacere poter essere presente a Catania.

Dopo essere stato presente alle edizioni milanesi del 2008 e del 2009, i confronti vengono quasi spontanei, e devo ammettere che sono rimasto molto contento dell’evento organizzato da Roberto Chibbaro. Era una bella occasione per coinvolgere delle realtà che molto spesso vengono colpevolmente dimenticate, e poter assistere a degli interventi interessanti mi ha permesso di fare diverse conoscenze utili.

Proprio sulle differenze di mentalità ha scritto un post interessante Luca, che è riuscito a dipingere un quadro molto verosimile, confrontando i diversi scenari che ci si possono parare davanti partecipando agli eventi di networking tra Londra, Roma e Catania. Quella della Sicilia è una realtà viva, che ha voglia di mettersi in mostra ed è capace di presentare delle idee interessanti, ma incontra difficoltà nel metterle in pratica. Parlare poi di soldi e finanziamenti per delle idee è quasi un’utopia: difficile trovare qualcuno disposto ad investire.

Nonostante tutto però c’è chi ha ancora voglia di emergere, e per questo non posso che fare i complimenti a chi continua ad insistere cercando una via per mettersi in mostra, come i ragazzi di Your Inspiration Web. I loro talk sono stati interessanti, così come è stato molto discusso l’intervento di Francesco “Fullo” Fullone, che ha esaminato WordPress sconsigliandone l’utilizzo in casi estremi, dove altri CMS si comporterebbero meglio.

Ho cercato di dare anche io il mio contributo, con un breve speech riguardante la mia esperienza con GdR Players. E’ stato utile discutere insieme ai presenti dell’utilizzo di WordPress per una community ridotta ai minimi termini, considerando anche ipotesi alternative come BuddyPress o le novità della versione 3.0. Mi ha fatto piacere ricevere pareri, suggerimenti e proposte interessanti, segno che la semplicità di WordPress continua ad attirare ed incuriosire, anche dopo gli ultimi aggiornamenti.

Se volete avere un quadro ancora più completo dell’evento, in rete potete trovare:

Le slide della mia presentazione, dal titolo WordPress per una community?”, sono le seguenti. Vederle fuori dal contesto non è ovviamente l’ideale, ma potete farvi comunque un’idea del contenuto:

L’appuntamento è per il WordCamp 2011: se avete proposte, suggerimenti, oppure eravate presenti e volete aggiungere qualcosa, i commenti sono a vostra disposizione.

Un ultimo ringraziamento va a Roberto ed a Giovanni, che con i loro consigli mi hanno regalato una fantastica settimana di vacanza in giro per la Sicilia.

WordCamp 2010: Milano e Catania

Due appuntamenti italiani dedicati a Wordpress: è arrivato anche il WordCamp Catania.

Anche quest’anno non manca l’appuntamento con il WordCamp italiano, barCamp dedicato a WordPress. Le novità questa volta sono importanti, perché oltre al tradizionale incontro a Milano (21-22 Maggio 2010), ci sarà anche un WordCamp a Catania il 18 Giugno.

Al momento gli interventi proposti sono diversi, ed il numero dei partecipanti continua a crescere. Potete trovare tutte le informazioni sui siti dedicati:

Io sarò presente a Catania, approfittando dell’occasione per godermi un po’ di vacanze in Sicilia nei giorni successivi all’evento. Non so ancora se parteciperò con un intervento (potrei raccontare qualcosa su GdR Players…), ma sarà comunque una bella opportunità per conoscere altre persone interessate all’argomento.

Se siete interessati a partecipare, registratevi sul sito del WordCamp che vi interessa. Ci vediamo a Catania!

WordPress 3.0: menu personalizzati

La nuova funzione wp_nav_menu di Wordpress 3.0, tra drag & drop e menu su misura.

Una delle funzioni più interessanti del prossimo WordPress 3.0 permette di creare menu di navigazione personalizzati direttamente dal pannello di amministrazione.

E’ possibile infatti creare dei menu contenenti contemporaneamente:

  • pagine
  • categorie
  • link diretti ad url specifiche

Questa novità facilita le possibilità di personalizzazione: non è più necessario nemmeno modificare nel template funzioni come wp_list_pages() o wp_page_menu, alle quali andavano passate come parametri le pagine da escludere.

I menu personalizzati sono gestiti in maniera simile alle widget: si selezionano le pagine e con il drag & drop è possibile ordinarle anche su sottolivelli. Il problema più grave di questo metodo riguarda l’accessibilità: non c’è stato alcun miglioramento dalle versioni precedenti di WordPress. E’ infatti impossibile ordinare gli elementi senza usare il mouse.

Rendere compatibile un tema con i menu personalizzati

E’ possibile adattare un tema esistente con i nuovi custom menu senza troppe difficoltà. E’ stata infatti introdotta una nuova funzione, che inserisce automaticamente sul sito il primo menu personalizzato che viene creato:

<?php wp_nav_menu(); ?>

Trovate la documentazione relativa ed i parametri opzionali in questa pagina del Codex. L’unica cosa necessaria da sapere è che se non è stato creato nessun menu personalizzato, la funzione wp_nav_menu va in fallback direttamente su wp_page_menu, di cui avevo già parlato in passato. Questo garantisce sempre la presenza di un menu di navigazione, permettendo agli utenti con esigenze particolari di poterlo personalizzare.

Aggiornamento: in attesa dell’uscita della versione ufficiale, potete scaricare la beta 2 di WordPress 3.0 dal blog.

MobilePress: blog in versione mobile

Analisi del plugin mobile per Wordpress e download del mio tema gratuito.

Chi gestisce un sito web ormai non può più rinunciare ad avere una versione su misura per i dispositivi mobili. Avevo parlato in passato di soluzioni come Mofuse, ma ho trovato la soluzione ideale per le mie esigenze scoprendo il plugin MobilePress.

Esistono vari plugin per mettere online con pochi clic la versione mobile di un blog WordPress (basti pensare a Wp Touch), ma le grandi possibilità di personalizzazione di MobilePress mi hanno convinto più di ogni altra cosa.

Tra i suoi punti di forza includo:

  • Possibilità di creare temi per la versione mobile, sfruttando le stesse logiche dei temi standard per WordPress
  • Possibilità di fornire un tema esclusivo per iPhone/iPod Touch
  • Nessuna difficoltà di installazione e configurazione

Parlando dei difetti, l’unico che ho trovato riguarda l’interfaccia di amministrazione, in particolare l’assegnazione del tema. Se non riuscite a vedere il template corretto sul vostro iPhone, è perché il tema relativo a questo dispositivo viene assegnato separatamente rispetto a tutti gli altri dispositivi mobili. Sarebbe meglio avere un’impostazione di default per dare inizialmente a tutte le piattaforme lo stesso tema, iPhone compreso.

Scarica il mio tema base

Viste le possibilità che questo plugin mette a disposizione, sarebbe interessante realizzare una raccolta di temi gratuiti per dispositivi mobili, così come succede già su WordPress.org per i temi standard.

Voglio dare il mio contributo mettendo a disposizione la base del mio tema mobile, che ho realizzato modificando quello di default. Ho tradotto alcuni testi, modificato il formato delle date ed ottimizzato il codice HTML riducendolo all’essenziale.

MobilePress Theme (.zip – 14kb):

Potete considerarla come una base di partenza su cui fare le vostre personalizzazioni, come il cambio di colori o l’eliminazione di elementi non rilevanti per una versione mobile. Su tomstardust.com ad esempio ho limitato tutto alla visualizzazione dei soli post, nascondendo le pagine. Il mio tema comunque le include, potete decidere autonomamente come gestirle.

Se avete suggerimenti o consigli su quello che vorreste trovare nella versione mobile di un sito, dite la vostra nei commenti: il futuro della rete passerà sempre più attraverso i dispositivi mobili.

Le funzioni wp_list_pages e wp_page_menu di WordPress

Un confronto tra le due soluzioni disponibili per creare un menu di navigazione.

Su WordPress esistono due funzioni php essenziali per la gestione dei menu di navigazione: wp_list_pages e wp_page_menu. Che abbiate un semplice blog o un sito più complesso, in ogni caso avrete quasi sempre bisogno di un menu di navigazione, anche solo per includere i link alla homepage, alla pagina about ed a quella dei contatti.

Le due funzioni hanno alcune differenze: wp_page_menu è stata introdotta dalla versione 2.7 e va ad estendere wp_list_pages, che comunque fa ancora egregiamente il suo dovere. Recentemente mi sono imbattuto in queste funzioni per un aggiornamento al tema Stardust, ed ho deciso di condividere quello che ho scoperto.

La funzione wp_list_pages

Se lavorate con WordPress, conoscerete bene questo template tag, esistente ormai da anni:

<?php wp_list_pages(); ?>

Il suo punto di forza sono le possibilità di personalizzazione.

Escludere una pagina dal menu

Una delle opzioni più usate è quella che consente di nascondere dal menu alcune pagine. Per farlo è sufficiente usare il parametro exclude (in questo caso elimina dall’elenco le pagine con ID 1 e 7:

<?php wp_list_pages('exclude=1,7'); ?>

Mostrare solo le pagine di primo livello

Un altro parametro molto utile è depth, che permette di nascondere tutte le sottopagine e controllare la profondità del menu:

<?php wp_list_pages('depth=1'); ?>

In questo caso, depth=1 mostra solo le pagine di primo livello.

Nascondere il titolo

Se invece non avete bisogno del titolo prima dell’elenco delle pagine, ad esempio perché il menu non è nella sidebar ma disposto in orizzontale, potete usare il parametro title_li:

<?php wp_list_pages('title_li='); ?>

La funzione wp_list_pages offre ottime possibilità di personalizzazione, e spesso è più che sufficiente. Per tutti i dettagli vi consiglio di consultare anche la pagina ufficiale su WordPress.org, dove sono illustrati i parametri utilizzabili ed i rispettivi valori.

La funzione wp_page_menu

Dalla versione 2.7 di WordPress è stato introdotta la funzione wp_page_menu, che aumenta le possibilità a disposizione degli sviluppatori. La differenza principale con wp_list_pages è nel codice che viene generato, e nella possibilità di mostrare un link alla homepage.

Usando la funzione

<?php wp_page_menu(); ?>

Questo sarà l’HTML creato:

<div class=”menu”>
  <ul>
    <li class=”current_page_item”><a href=”…” title=”…”>Pagina attiva</a></li>
    <li class=”page_item”><a href=”…” title=”…”>Pagina</a></li>
    …
  </ul>
</div>

Non c’è quindi bisogno di aggiungere codice HTML intorno alla funzione php, tutto il necessario viene generato automaticamente.

Cambiare la classe associata al menu

Per cambiare la classe del menu, è sufficiente usare il parametro menu_class:

<?php wp_page_menu('menu_class=navigation'); ?>

Mostrare un link alla home nel menu

La novità principale però riguarda il parametro per includere automaticamente un link alla homepage:

<?php wp_page_menu('show_home=1'); ?>

Utilizzando wp_list_pages questo era possibile solo inserendo manualmente nel template un link alla home, ma è una soluzione poco elegante. Inoltre possono esserci problemi quando la prima pagina del blog è una pagina statica: il link alla homepage apparirebbe duplicato.

Con wp_page_menu questo non accade: con un parametro è possibile gestire tutto senza problemi.

Altri parametri

Una caratteristica non è specificata sulla documentazione ufficiale, ma è fondamentale: la funzione wp_page_menu supporta tutti i parametri di wp_list_pages, essendo un’estensione di quest’ultima.

Se ad esempio volete creare un menu con classe “nav”, mostrando anche la homepage e solo un livello di profondità, questa è la funzione:

<?php wp_page_menu('menu_class=nav&show_home=1&depth=1'); ?>

Potete approfondire il discorso sulla pagina di wordpress.org dedicata alla funzione, ricordandovi quindi anche di wp_list_pages.

Quale funzione utilizzare?

La presenza di due funzioni simili potrebbe confondere le idee, ed in effetti viene da chiedersi quale sia l’utilità del conservarle entrambe. La risposta è da cercare nella retrocompatibilità per le vecchie versioni di WordPress.

Se però dovete sviluppare un nuovo tema e non avete problemi di questo tipo, il mio consiglio è di sfruttare fin da subito wp_page_menu. I vantaggi non sono incredibili ma ci sono: i vostri visitatori non noteranno niente di diverso, ma voi avrete un codice più facile da mantenere.