Per la realizzazione di una sorta di magazine generalista online sto provando ad utilizzare WordPress. Si potrebbe utilizzare uno dei tanti dialetti di -Nuke, o un Drupal, o ancora uno Xoops o un Mambo. O meglio un framework come ezPublish. Ma tutti questi presentano elementi che costringerebbero ad interventi sul codice profondi e dispendiosi, almeno in termini di tempo. Pur non essendo questa la sua natura primaria, la maniera in cui è strutturato il codice di WP lo rende altamente personalizzabile.

I problemi da affrontare sono fondamentalmente due:

  • la gestione della Home Page; i blog-engine (e WP non fa eccezione in questo) sono costruiti avendo come logica di pubblicazione per la home “l’ultimo inserito è il primo in testata”; un “giornale online” dev’essere strutturato invece con maggior libertà da parte dell’editore; a questo proposito, i suggerimenti di personalizzazione presenti su questo articolo sono più che utili; si basano sulla “destrutturazione” del classico index.php che governa WordPress, e sulla costruzione di alcuni filtri basati sulle categorie, che diventano i “flag” con cui marcare gli articoli che si desiderano in Home;
  • la gestione dei Canali, ovvero delle categorie; un giornale online è classicamente costituito da N canali (ad es.: Attualità, Sport, Cronaca..) e per ognuno di questi sarà necessario personalizzare testata e menu di navigazione; non solo, sarà necessario far sì che, clickando un post dalla prima pagina che appartiene alla categoria “Attualità”, questo sia visualizzato completo all’interno del template “Attualità”. Una gestione di template distinti per categoria è già prevista da WordPress (anche se non mi è mai capitato di vederla realmente implementata da qualcuno); ora mi tocca capire quanto in profondità si può andare su questo meccanismo.

UPDATE - 20/05/07 - 20.40

Ok, primo step effettuato.

WordPress per un NewsMagazine online - primo step

La home di default del tema da me scelto è completamente rivoluzionata. Il grosso del lavoro sta nel disabilitare il “cuore” di WordPress, il famigerato TheLoop, il ciclo che richiama tutti i post per data a partire dall’ultimo inserito, e sostituirlo con una serie di “cicletti” fatti a mano.

Ogni nuovo ciclo inserito, si basa su due parametri: la categoria di post che deve andare a pescare, e il numero di post da pescare per quella categoria. Per spiegarmi, nello screenshot linkato vediamo post appartenenti a 6 categorie differenti. Il post in alto a sinistra appartiene alla categoria “I livello”; chiedo all’engine di pescare solo l’ultimo post di questa categoria, e di inserirlo in un <div> dall’ID appropriato. Idem per il secondo, eccetera.

La buona riuscita del layout sta anche nell’utilizzo del tag more di WordPress.

Ancora, è stato abbastanza arduo rinunciare alla classica sidebar, e far posto in quella zona ad altri post: uno della categoria Editoriale“, appositamente creata, e quattro della categoria FlashNews“.

I prossimi step:

  • gestione di home page per categoria
  • gestione delle sottoscrizioni
  • standardizzazione dei template per pagine speciali (editoriali, interviste, ecc.)

Per chiunque volesse cimentarsi, oltre a dare la mia disponibilità ad essere contattato in mail, consiglio assolutamente di farsi un giro nella Knowledge Base di WordPress