web-dev-qa-db-ja.com

私の 'tax_query'に投稿数を指定してください

分類法のセクションに属する用語「フットボール」の投稿を表示していますが、すべてうまく機能していますが、表示する投稿の数をどこで指定できますか。

このように: 'showposts' => 3

どこに置くかわからない

    $myquery['tax_query'] = array(
                   array(
                        'taxonomy' => 'section',
                        'terms' => array('futbol'),
                        'field' => 'slug',
                    ),
        );
        query_posts($myquery);
1
Sema Hernández

いかなる状況においても、決してquery_postsを使用しないでください。代わりにWP_Queryを使用してください。これはquery_postsが内部的に機能する方法ですが、トリックや欠点はありません。

また、WP_Queryのドキュメントには、しようとしていることも含めて、すべてのパラメーターについての説明が記載されています。

posts_per_page(int) - 1ページに表示する投稿数(バージョン2.1以降で利用可能、showpostsパラメータに置き換えました)。すべての投稿を表示するには'posts_per_page'=>-1を使用します( 'offset'パラメーターは-1値では無視されます)。このパラメータを使用した後にページ付けがオフの場合は、 'paged'パラメータを設定してください。注:クエリがフィード内にある場合、wordpressはこのパラメータを保存されている 'posts_per_rss'オプションで上書きします。制限を再設定するには、 'post_limits'フィルタを使用するか、 'pre_option_posts_per_rss'をフィルタ処理して-1を返します。

例を含める:

1ページにx件の投稿を表示

1ページに3件の投稿を表示する

$query = new WP_Query( 'posts_per_page=3' );

または私がそれを置くように:

$args = array(
    'posts_per_page' => 3
);
$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while( $query->have_posts() ) {
        $query->the_post();
        // display the post
    }
}

$query->have_postsの先頭にthe_postを追加しただけなので、メインループはquery_postsを使用する場合と同じです。

税金クエリに追加するパラメータを変更できるようになりました

$args = array(
    'posts_per_page' => 3,
    'tax_query' => array(
        ...etc
    )
);

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

3
Tom J Nowell

これはうまくいきます、ありがとうトム:)

        <?php
        $args = array(
            'posts_per_page' => 2,
            'tax_query' => array(
                array(
                    'taxonomy' => 'section',
                    'field' => 'slug',
                    'terms' => array('futbol'),
                         )
                )
            );
        $query = new WP_Query( $args );

       if ( $query->have_posts() ) {
            while( $query->have_posts() ) {
                $query->the_post();

         //The Post

            }
        }
        ?>
0
Sema Hernández

代わりにposts_per_pageが必要です。

$myquery = array(
    'posts_per_page' => 3,
    'tax_query' => array(
        array(
            'taxonomy' => 'section',
            'terms' => array( 'futbol' ),
            'field' => 'slug',
        ),
    ),
);
0
TheDeadMedic