Existe-t-il un moyen d'utiliser LA BOUCLE dans Wordpress pour charger des pages au lieu de publications?
Je voudrais pouvoir interroger un ensemble de pages enfants, puis utiliser LA BOUCLE la fonction l'appelle - des choses comme the_permalink()
et the_title()
.
Y a-t-il un moyen de faire cela? Je n'ai rien vu dans la documentation de query_posts()
.
Oui, c'est possible. Vous pouvez créer un nouvel objet WP_Query. Faites quelque chose comme ça:
query_posts(array('showposts' => <number_of_pages_to_show>, 'post_parent' => <ID of the parent page>, 'post_type' => 'page'));
while (have_posts()) { the_post();
/* Do whatever you want to do for every page... */
}
wp_reset_query(); // Restore global post data
Addition : Il existe de nombreux autres paramètres qui peuvent être utilisés avec query_posts. Certains, mais malheureusement pas tous, sont répertoriés ici: http://codex.wordpress.org/Template_Tags/query_posts . Au moins post_parent
et plus important post_type
n'y figurent pas. J'ai fouillé les sources de ./wp-include/query.php
pour en savoir plus.
Étant donné l'âge de cette question, je voulais fournir une réponse mise à jour à tous ceux qui y tomberaient.
Je suggérerais d'éviter les query_posts. Voici l'alternative que je préfère:
$child_pages = new WP_Query( array(
'post_type' => 'page', // set the post type to page
'posts_per_page' => 10, // number of posts (pages) to show
'post_parent' => <ID of the parent page>, // enter the post ID of the parent page
'no_found_rows' => true, // no pagination necessary so improve efficiency of loop
) );
if ( $child_pages->have_posts() ) : while ( $child_pages->have_posts() ) : $child_pages->the_post();
// Do whatever you want to do for every page. the_title(), the_permalink(), etc...
endwhile; endif;
wp_reset_postdata();
Une autre alternative serait d'utiliser le filtre pre_get_posts mais cela ne s'applique que dans ce cas si vous devez modifier la boucle primaire. L'exemple ci-dessus est meilleur lorsqu'il est utilisé comme boucle secondaire.
Pour en savoir plus: http://codex.wordpress.org/Class_Reference/WP_Query