Direttamente dal sito di WordPress apprendiamo che il modo migliore di utilizzare la funzione get_posts è quello di creare un array basato su un set di parametri. Essa ritorna una lista di posts recenti o post in accordo con i criteri utilizzati.

La funzione get_posts può inoltre essere utilizzata per creare multipli loops

Il suo utilizzo è il seguente

<?php $args = array(
 'posts_per_page' => 5,
 'offset' => 0,
 'category' => '',
 'category_name' => '',
 'orderby' => 'date',
 'order' => 'DESC',
 'include' => '',
 'exclude' => '',
 'meta_key' => '',
 'meta_value' => '',
 'post_type' => 'post',
 'post_mime_type' => '',
 'post_parent' => '',
 'author' => '',
 'author_name' => '',
 'post_status' => 'publish',
 'suppress_filters' => true 
);
$posts_array = get_posts( $args ); ?>

dove insomma i parametri sono abbastanza ovvi.

Esempio 1

Supponiamo che in home page abbiamo solamente un post, ma vogliamo visualizzare i link dei cinque precedenti. In questo caso dovremo fare

<ul>
<?php

global $post;
$args = array( 'posts_per_page' => 5, 'offset'=> 1, 'category' => 1 );

$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
 <li>
 <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
 </li>
<?php endforeach; 
wp_reset_postdata();?>

</ul>

dove setup_postdata() si occupa unicamente di formattare correttamente la risposta da visualizzare

 

 

Analoga a get_posts() c’e’ get_pages() per le pagine