by Kiko
on 18 January 2010
in Featured, Tutorial, Web Design
Ultimo aggiornamento: 16 January 2010

Uno degli strumenti importanti per raccogliere traffico interno al blog è mostrare gli articoli collegati a quello che il visitatore ha appena letto. In WordPress esistono molti plugin che permettono di ottenere un simile risultato. Ne esistono veramente diversi: qualcuno presenta buone caratteristiche, qualcuno ottime funzionalità lato amministrazione. Ma può non essere la soluzione migliore.
Per certi compiti usare un plugin è una forzatura e rende il tutto leggermente più lento, in quanto il l’engine di WordPress deve provvedere a caricare ed eseguire tutti i plugin. Meglio eseguire codice scritto apposta. Il file functions.php potrebbe essere il posto ideale per piazzare lì alcune utili funzioni da utilizzare in lungo e in largo nel nostro tema.
Rispondiamo allora, in questo piccolo articolo, alla domanda del titolo: si può ottenere una lista di articoli related senza usare plugin? Certo. Nel mio blog uso il seguente codice.
L’idea è di partire dalle categorie in cui è inserito il post. Quindi estrarre da ogni categoria gli articoli collegati. La mia soluzione prevede il recupero a ritroso degli articoli più recenti, questo per evitare di doppiare gli articoli più letti che mostro in un apposito widget (test che ho effettuato!), a meno di casuale coincidenza. Ora gli approcci sono due:
L’opzione numero 2 mi è sembrata nel mio caso la più logica. Ecco il codice:
$_cats = get_the_category($post->ID);
if ($_cats) {
$_catid = array();
foreach($_cats as $_item) $_catid[] = $_item->term_id;
$args=array(
'showposts'=>5,
'category__in' => $_catid,
'post__not_in' => array($post->ID),
'caller_get_posts'=>1
);
$_relposts_query = new wp_query($args);
if( $_relposts_query->have_posts() ) {
echo '<h3>Related Posts</h3><ul>';
while ($_relposts_query->have_posts()) {
$_relposts_query->the_post();
?>
<li><?php if(has_post_thumbnail()) echo get_the_post_thumbnail(get_the_id(), array(50,50)); ?><a href="<?php the_permalink() ?>" rel="bookmark" title="Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo "</ul>";
}
}
Come potete notare uso la nuova funzione di WordPress relativa ai thumbnails. Per modificare il numero di articoli da mostrare settate il parametro showposts secondo vostre necessità (riferimento wp_query). Per il resto è davvero tutto molto semplice e risulterà chiaro a chi ha un pò d’esperienza con i temi di WordPress.
P.S.
Simile risultato può essere ottenuto giocando con i tag. Anzicchè prendere a riferimento le categorie, come nel mio caso, è possibile recuperare i tag con cui è stato postato un articolo e da lì recuperare i related posts. In tal caso date un’occhiata all’idea di Jean Baptiste Jung.
on 17 February 2010

Il tempo passa, il lavoro sta per terminare. Nuovo tema e nuovi esperimenti. In particolare sto giocando e mi sto divertendo con la nuova direttiva rgba, le trasparenze e le nuove proprietà introdotte da CSS3. Terminato il disegno, ora tocca ai contenuti, argomento dei miei dopo-cena! Nel frattempo vi mostro alcuni spezzoni del nuovo tema, in attesa [...]
on 04 February 2010

Per i non-designer è sempre molto utile leggere questi articoli, in quanto rappresentano il giusto complemento a quella che in effetti è una mancanza. Almeno per quanto mi riguarda, io che non tengo in mano una matita da una vita, la carenza in fatto di design rischia talvolta di pesare più del dovuto. Faccio leva [...]
on 29 January 2010

Sostanzialmente è un iPhone, solo più lungo e più largo. Non cambia poi molto. Anzi, sì. Uno schermo più ampio, grande capacità di giocare con le dita e quindi le varie applicazioni, una migliore usabilità di tutto. Grande comodità nella lettura, grande aumento delle potenzialità per designer, per fotografi, per gli internet addicted. Il primo [...]
on 28 January 2010

Le API sono quanto di meglio un programmatore possa chiedere ad un altro programmatore, e quindi direttamente ad un software. Senza API ben scritte e ben fornite, oggi il mondo del web sarebbe privo di utilissimi servizi. E non solo il mondo del web. Dal BIOS passando per UNIX per arrivare i più moderni servizi [...]
→ View all articles in Sideblog ←