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 19 July 2010

Lavorare agilmente con Docbook su un sistema Mac? Banale. Io generalmente uso un approccio di questo tipo, che facilita il lavoro e richiede davvero conoscenze elementari. Via con lo step: scaricare i fogli XSL di Docbook a questo indirizzo; scompattarli in una directory. Se prevedete di usarli su più account nello stesso sistema (e, convenientemente, preferite questa [...]
on 26 May 2010

Due articoli niente male, fra i più interessanti del 2010. Almeno questa è la mia personale opinione su quanto pubblicato in A List Apart. Il primo dei due articoli esplora il tema dello user testing proponendo tre semplici metodi di analisi. Un buon lavoro, anche facile da comprendere. Il secondo invece è incentrato sul web design. [...]
on 11 May 2010

Dopo un parto lungo eccomi di nuovo online. Tra laboratorio per la tesi, ultime materie da preparare, trasloco offline (casa) e trasloco online (cambio hosting), dovrebbe essere tutto pronto per lavorare con tranquillità. Ho trascurato questo blog perché altri lavori richiedevano quel poco di tempo rimasto. Infostrada se l’è cavata piuttosto bene, lasciandomi fuori dalla [...]
on 15 March 2010

Convertire un visitatore in un utente è l’obiettivo massimo. Per utente si intende in questa sede un utente registrato che può significare tante cose in relazione a contesti differenti. Uno sviluppatore o un designer deve porsi, di fronte tale obiettivo, in modo pro-attivo: deve cioè innescare il processo di transizione da visitatore a utente e [...]
→ View all articles in Sideblog ←