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