Se vogliamo semplicemente inserire nella sidebar del nostro blog WordPress, un elenco degli ultimi n post di una determinata categoria, non dobbiamo a tutti i costi correre su google a cercare un plugin. WP ha già tutto quello che serve: la funzione get_posts.
Si tratta soltanto di chiedere a questa funzione quanti post vogliamo elencare e da quale categoria devono essere estratti. A questo servono i parametri numberposts e category.
Se scriviamo:

<?php $myfeatposts = get_posts('numberposts=5&category=12'); ?>


otteniamo i dati per gli ultimi cinque post pubblicati nella categoria con ID uguale a 12. Non resta che stampare a video, utilizzando un ciclo foreach, i dati che riteniamo opportuni per ognuno dei post recuperati: nel nostro caso pubblicheremo il titolo, linkando il permalink del post:

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>


Ecco quindi il codice completo, da inserire nel punto preciso della sidebar in cui vogliamo che compaia l’elenco.

<ul>
<?php
global $post;

// estraiamo 5 post dalla categoria con ID uguale a 12
$myfeatposts = get_posts('numberposts=5&category=12'); 
foreach($myfeatposts as $post) :
setup_postdata($post);
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>


Un utilizzo può essere quello di richiamare i post di una metacategoria, creata al solo scopo di permettere all’amministore del blog di far comparire i post in un determinato menu. Funzionano così i “featured post” nella colonna più a destra di questo blog: quando voglio che un articolo compaia in quell’elenco mi basta contrassegnarlo con la categoria featured e, finchè non ne arriveranno di nuovi, e contrassegnati come featured, il link resterà in quel menu.

Link:
La funzione get_posts

This entry was posted in Tutorial, Webdesigner, Wordpress and tagged , , , , , , , . Bookmark the permalink.

One Response to Creare un menu nella sidebar con l’elenco dei post per una determinata cateogoria

  1. paolo says:

    Bello scrip utilissimo. tenkiu

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>