1

仮装したテンプレートでカテゴリ アーカイブを表示するための category.php を作成します。

次のようなカテゴリ ページ リンク: http://www.example.com/category/cat1/

これらのコードで問題なく、cat1の最後のアイテムが表示されます

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
// Some template code
<?php endwhile; ?>
<?php endif; ?> 

しかし、cat1 のコンテンツの代わりに WP_Query または query_posts でクエリをカスタマイズしようとするとサイトすべてカテゴリのコンテンツが表示されます

    <?php query_posts( 'posts_per_page=30' ); ?>    
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    // Some template code
    <?php endwhile; ?>
    <?php endif; ?> 

その理由と解決策とは?

4

1 に答える 1

1

クエリで cat を定義する必要があります。

それはあなたの答えです:

<?php
$args = array(
    'cat' => get_query_var('cat'),
        'posts_per_page' => 30
);
$recent = new WP_Query($args); while($recent->have_posts()) : $recent->the_post();?>
 //some template code

<?php endwhile; ?>
于 2013-05-18T11:31:32.637 に答える