wordpress中的post_per_page无法在页面上正确呈现

时间:2018-02-11 13:50:59

标签: php wordpress

嗨我有这个wordpress网站,页面上会显示图片。现在我的问题是当我添加post_per_page => '50'然后当我刷新页面时,每页的帖子数量无法正确呈现。以下是我的代码。

<?php 
                        query_posts( array(
                        'post_per_page'  => 50,
                        'cat'=> '7',
                        'order' => 'ASC'
                    ) );

                ?>
                <?php while(have_posts()) : the_post(); ?>

                <div class="single-gallery anim-5-all interoors masonryImage mix span-4">
                    <div class="img-holder">
                        <?php
                            $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'medium' );
                            $url = $thumb['0'];
                        ?>
                        <img src="<?=$url; ?>" alt="">

                    </div>
                </div><!-- /.single-gallery -->
                <?php endwhile; wp_reset_query(); ?>

现在它将在页面上显示9个图像。有人能帮我解决这个问题吗?任何帮助都非常感谢。 TIA

1 个答案:

答案 0 :(得分:0)

首先,我在你的查询参数中犯了错误

'post_per_page'  => 50,

wp_query循环使用没有这样的参数,而不是

'posts_per_page'  => 50,

有一秒钟,wodpress codex引用query_posts函数

  

注意:此函数将完全覆盖主查询,而不是   旨在供插件或主题使用。它过于简单化的方法   修改主查询可能会有问题,应该避免   尽可能。在大多数情况下,有更好的,更高效的   用于修改主查询的选项,例如通过'pre_get_posts'   WP_Query中的行动。

我建议你使用标准的wordpress循环

<?php
$args = [
    'posts_per_page' => 50,
    'cat'            => '7',
    'order'          => 'ASC',
];

// The Query
$query = new WP_Query( $args );

// The Loop


while ( $query->have_posts() ) : $query->the_post(); ?>
    <div class="single-gallery anim-5-all interoors masonryImage mix span-4">
        <div class="img-holder">
            <?php
                $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'medium' );
                $url = $thumb['0'];
            ?>

            <img src="<?=$url; ?>" alt="">

        </div>
    </div><!-- /.single-gallery -->
    <?php
endwhile;
wp_reset_postdata();
?>