web-dev-qa-db-ja.com

posts_per_pageは動作しません

これが私のカスタムクエリです。

            <?php
                $Poz = new WP_Query(array(
                    'posts_per_page' => 3,
                    'orderby' => 'date',
                    'order' => 'DESC',
                    'no_found_rows' => true,
                    'update_post_term_cache' => false,
                    'update_post_meta_cache' => false,
                ));
            // The Query
            $the_query = new WP_Query( $Poz );

            // The Loop
            while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
            <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?> yazısını oku."><?php the_title(); ?></a></li>
            <?php endwhile; wp_reset_postdata(); ?>

私は私の質問を最小化しようとし始めています。これについてのいくつかの記事を見つけました。この方法は、2回だけクエリを実行することを意味します。

あなたはそれをチェックすることができます ここ また。

質問はposts_per_page引数に関するものです。なぜうまくいかないのですか?私はそれについて考える

'no_found_rows' => true,

この議論。つまり、クエリに対するページ付けはありません。しかし、どうやって投稿数を制限することができますか?このクエリでは、ページごとの投稿の代わりに使用できるものもあります。これについて話しましょう。

- 更新しました -

新しいWP_Queryではなく、クエリメソッドquery_postsを変更しました。

<?php

# Cached Wordpress queries
# SE Disq : http://wordpress.stackexchange.com/questions/70424/posts-per-page-doesnt-work/70425

    $Poz = array(
    'posts_per_page' => 5, 
    'orderby' => 'date', 
    'order' => 'DESC', 
    'no_found_rows' => true,
    'update_post_term_cache' => false, 
    'update_post_meta_cache' => false, 
    );

    query_posts( $Poz ); while ( have_posts() ) : the_post(); ?>

    <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?> yazısını oku."><?php the_title(); ?></a></li>
<?php  endwhile;  wp_reset_query(); ?>
1
Fatih Toprak

ええ、'nopaging' => trueを使ってください

http://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters

$Poz = array( 
    'posts_per_page' => 3, 
    'orderby' => 'date', 
    'order' => 'DESC', 
    'update_post_term_cache' => false, 
    'update_post_meta_cache' => false, 
    'nopaging' => true, 
); 
$the_query = new WP_Query( $Poz );
6
Daniel Sachs