WordPress: creare un Loop di post nella sidebar

Un esempio di come creare un Loop di WordPress nella sidebar.

WordPress di Gabriele Romanato

La sidebar di WordPress può essere usata anche per visualizzare i nostri post e non solo per contenere informazioni aggiuntive o widget. Il problema è che ad oggi non esiste ancora un metodo tramite hook per agganciarsi al codice della sidebar e aggiungere del contenuto. Dobbiamo quindi inserire manualmente il nostro codice nel file sidebar.php. In questo articolo vedremo come creare un elenco di post sotto forma di thumbnail.

Il codice è semplice: scegliamo una categoria e il numero di post da visualizzare, quindi lanciamo il Loop. Definiamo il seguente codice nel file functions.php:

[php htmlscript="true"] <?php function display_sidebar_posts() { $query = new WP_Query(array('cat'=> 17, 'posts_per_page'=> 5)); if($query->have_posts()) { ?> <ul id="sidebar-posts"> <?php while($query->have_posts()) { $query->the_post(); $id = get_the_ID(); $title = get_the_title(); ?> <li> <a href="<?php the_permalink();?>" title="<?php the_title();?>"> <?php echo get_the_post_thumbnail($id, array(150,150), array('title' => $title));?> </a> </li> <?php } ?> </ul> <?php } wp_reset_postdata(); } ?>

Quindi richiamiamo la nostra funzione all'interno del file sidebar.php:


<?php display_sidebar_posts();?>

State sempre attenti a inserire il vostro codice fuori dalle aree destinate ai widget perchè potreste andare incontro a svariati problemi.

Aggiornamento

Il sempre attento Maurizio mi ha fatto notare che:

Una tecnica in tal senso viene descritta in questo articolo.