web-dev-qa-db-ja.com

IDによるページの取得または照会

私は自分のコードに問題がある、私は私のホームページに3特定のページを表示したいのですが、私のコードが機能していません..ここにコードがあります..

<?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

これはquery_posts()の不適切な使い方です。これは、ページのメインクエリを変更するためだけのものです。また、スニペットをget_posts()を使用するように変更しても、the_excerpt()は投稿をループする方法ではないため、テンプレートタグ(get_posts()など)は機能しません。投稿の配列が返されるだけです。

あなたが欲しいのは WP_Query です。最初のコード行をこれに変更してください。

$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