无论参数如何,Wordpress WP_query仅返回当前页面

时间:2018-03-09 12:57:51

标签: php wordpress

在我的wordpress首页中,我使用query_posts来显示博客中的帖子。

但是,我认为使用query_posts是一种不好的做法,所以我使用WP_query重写代码。问题是,当我这样做时,WP_query只返回当前页面,无论我明确告诉wordpress查找帖子而不是页面:

<?php $que = new WP_query(array('post_type'=>'post', 'post_status'=>'publish', 'posts_per_page'=>2));
    if(have_posts()): while(have_posts()): the_post(); ?>
        <a href="<?php the_permalink(); ?>">
            <p class="date">
                <?php the_date();?>
            </p>
            <h4>
                <?php the_title();?>
            </h4>
        </a>
<?php endwhile; endif;?>

2 个答案:

答案 0 :(得分:1)

你的代码不正确,请尝试这样做(你注意到区别吗?):

<?php 
$the_query = new WP_Query(array('post_type'=>'post', 'post_status'=>'publish', 'posts_per_page'=>2));

    if($the_query->have_posts()): while($the_query->have_posts()): $the_query->the_post(); ?>
        <a href="<?php the_permalink(); ?>">
            <p class="date">
                <?php the_date();?>
            </p>
            <h4>
                <?php the_title();?>
            </h4>
        </a>
<?php endwhile; endif;?>

答案 1 :(得分:0)

试试这个:

<?php $que = new WP_query(array('post_type'=>'post', 'post_status'=>'publish', 'posts_per_page'=>2));
    if($que->have_posts()): while($que->have_posts()): $que->the_post(); ?>
        <a href="<?php the_permalink(); ?>">
            <p class="date">
                <?php the_date();?>
            </p>
            <h4>
                <?php the_title();?>
            </h4>
        </a>
<?php endwhile; endif;?>