Un pagina Wishlist per WordPress usando Delicious

Sul blog di Suzupearl ho letto di un’idea che mi è piaciuta parecchio. In breve: utilizzando i bookmark di Delicious e un tag potremmo creare automaticamente un elenco di cose desiderate sul nostro blog, elenco che può servire a noi stessi come anche ai nostri amici per un’idea regalo. Mi è sembrata interessante e ne ho preso spunto per un esercizio. Barbara di Suzupearl ha seguito la strada del Javascript, mentre io quella del PHP. Da segnalare, come giustamente sottolinea l’autrice, che l’ispirazione le è giunta grazie a Nicola D’Agostino e alle sue slide presentate al MicroCamp nel 2008.

L’idea

Entrando in dettaglio vediamo come si può fare. Nella nostra navigazione, quando ci imbattiamo in qualcosa che ci piace, quello che dobbiamo fare è salvare in un segnalibro di Delicious la pagina e assegnargli tutti i tag che vogliamo ma uno dovrà essere quello che unirà tutte le cose desiderate, ad esempio wishlist. In questo modo sarà facile richiamare in una pagina di WordPress, appositamente creata, l’elenco dei segnalibri che hanno quello specifico tag.

Possiamo anche andare oltre ordinando questi segnalibri per priorità, magari perché alcune cose sono più urgenti o perché ci piacciono di più. Allora al tag wishlist aggiungiamo un secondo tag del tipo *** (tre asterischi) per le cose più importanti, ** per quelle meno, * per quelle in ultimo. Nella pagina di WordPress, così, si creeranno tre loop diversi: uno per quello che richiama i segnalibri con i due tag wishlist+***, uno per quelli wishlist+** e infine uno per wishlist+*.

Nella speranza di poter avere il tempo di creare un plugin apposito e facile da adattare, condivido con voi questo esercizio di PHP. Seguitelo solo se vi sembra facile da implementare.

Il codice e la sua implementazione

Questa l’idea; ora vediamo come si potrebbe mettere in pratica. Ho tradotto il tutto in codice PHP da implementare in una pagina apposita. Nel mio blog la trovate in info/wishlist.

Questo codice, che si basa su quello del plugin Delicious for WordPress di Ricardo González (che ringrazio), è abbastanza semplice da implementare (per chi ha un po’ di pratica) nel proprio blog. Fatevi una copia del file page.php del vostro tema, che chiamerete, ad esempio, wishlist.php. Apritelo ed aggiungete proprio all’inizio del file queste righe:

<?php
/*
Template Name: Wishlist
*/
?>

Eliminate quindi le righe di codice che sono dentro al tag <div class="entry">. Per capirci, vi riporto un pezzo del codice del file page.php del tema Default di WordPress:

<div class="entry">
    <?php the_content('<p class="serif">' . __('Read the rest of this page »', 'kubrick') . '</p>'); ?>
    <?php wp_link_pages(array('before' => '<p><strong>' . __('Pages:', 'kubrick') . '</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
</div>

In questo caso vanno cancellate le righe 2 e 3 e al loro posto vanno inserite pari pari le righe di codice contenute in questo file:

[download id=“107”]

Incollato il blocco, cercate e sostituite usernamecon il vostro ID su Delicious. Poi, se osservate ciò che segue nella riga, noterete wishlist+***: questi sono i due tag da utilizzare, come spiegato prima nell’articolo. Modificateli di conseguenza se volete usarne di diversi. In tutto, sia la ID sia questi due tag ricorrono in tre righe diverse.
Salvate il file e caricatelo nella directory del vostro tema. Create quindi una nuova pagina e usate come template “Wishlist”; come titolo mettete quel che volete e non scrivete nulla nella parte dedicata al post. Salvate la pagina e osservatene l’anteprima (senza pubblicarla): se avete utilizzato i tag corretti, vedrete la vostra lista dei desideri, con tanto di descrizione e data di inserimento.

Conclusioni

Come già detto, questo è per me solo un esercizio di PHP: è macchinoso da adattare alle proprie esigenze. Di questa idea si potrebbe trarne un plugin specifico, con tanto di opzioni facili da inserire e senza dover mettere mano al codice. Se troverò il tempo, ne avrete notizia nel blog.

Crediti: a Barbara e a Nicola per l’idea, a Ricardo per il codice rilasciato con licenza GPL (ovviamente anche il codice di questa pagina è protetto dalla stessa licenza).