Migliorare la pagina “archive” di WordPress.

E’ venerdi’. Che cosa fa uno Venerdi’ in Irlanda? Va a riempirsi di birra! Per poi finire cosi’:

Beh io questa volta passo. 😀
Mi avevano invitato indirettamente ad un leaving party al Pravda ma ho deciso di rimanere a casa, per vari motivi, uno di questi motivi e’ che mi trovavo in the middle di una sezione di hacking molto proficua di wordpress.

Ieri sera ero in chat con una amica che vuole trasferirsi, e le ho detto di consultare il blog per consigli, scorrendo le pagine mi sono ricordato di cose successe anni fa, e anche di curiosi foto ritocchi, specie gli ultimi post prima di partire. 🙂

Questa situazione mi e’ servita da inpulso oggi pomeriggio, mentre ero al lavoro, per installare, fra un cosa e l’altra da fare, un nuovo plug-in per la pagina archive. Si chiama smartarchives.

Che cos’e’? Niente di meglio della descrizione sulla home page ufficiale:

Smart Archives is a rather simple WordPress plugin that will allow you to display your archives in a much “cleaner” format. You can see it in action on my archives page. You’ll notice that everything on the page is hyperlinked (years, months, posts) and that all of the respective links are future-proofed.

Il problema di questo plug-in e’ che mantiene le stesse impostazioni del blog, quindi nel mio caso 5 post per pagina, e ordinamento discendente. Io volevo, solo per la pagina /archive/, un ordinamento normale, ascendente, e nessun limite sul numero di post. In piu’ volevo anche la data accanto ad ogni post che si vede nella root page di /archive.

Cosa ho fatto?

Dopo qualche oretta di lettura di documentazione per gli sviluppatori di wordpess, che tralaltro ho trovato molto completa (rispetto a quando ho iniziato ad usare wordpress nel 2005), ho prodotto le seguenti linee di codice che ho inserito nel file functions.php del mio tema.

function pallotron_nopaging($query) {
   if ( !is_home() && !is_feed() && '' == $query->get('nopaging') ) {
      $query->set('nopaging', 1);
      $query->set('order', 'asc');
   }
}

add_action('parse_query', 'pallotron_nopaging');

Per completare l’opera ho dovuto fare anche un po’ di modifiche al plugin, cambiando delle clausole di order by da DESC ad ASC (il default):

ORDER BY post_date");

E due cicli for che diventano cosi’ (commentato la vecchia linea):

//for ($currentMonth = 12; $currentMonth >= 1; $currentMonth--) {
for ($currentMonth = 1; $currentMonth <= 12; $currentMonth++) {

Adesso i lettori possono navigare la pagina archive e vedere tutte le cazzate scritte da Ottobre 2005 a ora.

References:

http://codex.wordpress.org/Query_Overview
http://justinblanton.com/projects/smartarchives/
http://codex.wordpress.org/Developer_Documentation
http://codex.wordpress.org/Conditional_Tags

Comments Posted in Blog, Informatica, Programmazione, Software, Software Libero, Tempo libero, Tips and Tricks
Tagged , , ,

Comments

  1. pallotron says:

    sei fortunato. rimani cosi’.
    saluti.

  2. Ale says:

    TGIF = Thank God is Friday. Finalmente grazie al cielo posso spaccarmi il fegato. Se non ho la cirrosi epatica a 30 anni sono proprio un pirla! ahaha
    Non pensavo che fosse cosi’ personalizzabile un blog… addirittura con righe custom php… non so proprio una ceppa di web 2.0 🙂

    Sul blog di utopie quando carica ho un rallentamento, penso sia dovuto al plug in (?) di last.fm, ma nel tuo blog non rallenta. Boh… cmq e’ fastidioso.

    Complimenti per la capacita’ di stare ore sulla documentazione, io a casa non riuscirei a lavorare e non avendo nessuno con cui “condividere” esperienze “smanettatorie”, non ho stimoli e finisco sempre per giocare/vedere news/siti, ecc… Al lavoro si, ma a casa e’ proprio raro purtroppo