web-dev-qa-db-fra.com

Récupérer ou interroger des pages par ID

J'ai un problème avec mon code, je veux afficher 3 pages spécifiques sur ma page d'accueil mais mon code ne fonctionne pas .. voici le code ..

<?php $args = array(
                      'post_type' => 'page',
                      'post__in' => array(3,5,7)
                      );
                    query_posts($args);
                    while (have_posts()) : the_post();
                    $do_not_duplicate = $post->ID; ?>
                <div class ="date_author group">
                    <h3 class="date"><?php the_time('M j, y');?></h3>
                    </div>
                    <h3 class="title"><a STYLE="text-decoration:none" href = "<?php the_permalink();?>"><?php           the_title();?></a></h3>

                    <?php the_excerpt();?>

                    <?php endwhile; ?>
2
markyeoj

Ceci est une utilisation inappropriée de query_posts() qui sert uniquement à modifier la requête principale de la page. En outre, même si vous modifiez votre extrait pour qu'il utilise get_posts(), vos balises de modèle (par exemple, the_excerpt()) ne fonctionneront pas, car get_posts() n'est pas une méthode permettant de parcourir les publications en boucle, elle renvoie simplement un tableau de publications.

Ce que vous voulez, c'est WP_Query . Changez vos premières lignes de code en ceci:

$args = array(
    'post_type' => 'page',
    'post__in' => array(3,5,7)
);
$my_three_posts = new WP_Query( $args );
while ($my_three_posts -> have_posts()) : $my_three_posts -> the_post();
...
3
mrwweb