1

投稿を分類する必要がある場合、標準のWPループはスムーズに機能するようです。category.php で使用すると、特定のカテゴリに追加された投稿のみが表示されます。たとえば、映画と音楽の 2 つのカテゴリがあり、それぞれのカテゴリに割り当てられた投稿があり、両方のカテゴリに割り当てられた投稿があります。 . その場合、両方のカテゴリに割り当てられた投稿は両方のカテゴリに完全に表示されますが、1 つのカテゴリに割り当てられた投稿は 1 つのカテゴリ ページにのみ表示されます。日付または ID で並べ替えようとしましたが、query_posts を使用しても機能しません。特定のカテゴリでグループ化されているフォームを離れて、すべてのカテゴリ ページのすべての投稿を表示します。それらを別の方法で並べ替える方法はありますか?

編集:

これは、すべてが完璧に機能する標準的なループです。上にも書きましたが、「映画」カテゴリのページがありますが、そのページには「映画」カテゴリのみに割り当てられた投稿が表示され、それはどのカテゴリ ページでも同じです。しかし、それは日付順で降順にソートされていると思います。

<div class="category_info"><?php echo category_description(); ?></div>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="categorymain">
<h4 class="posttitle"><?php the_title(); ?></h4>
<?php echo intro_text(250); ?>
<a href="<?php the_permalink() ?>" class="readmore">read more »</a>
</div><!--end categorymain-->
<?php endwhile; endif; ?>

しかし、すべてをラップすると

<?php query_posts('order=ASC'); ?>
//...above code here
<?php wp_reset_query();?>

すべてが台無しです。「映画」カテゴリ ページでは、「映画」カテゴリからの投稿が表示されますが、「映画」に関連しない他のすべてのカテゴリからの投稿も表示され、これはすべてのカテゴリ ページで発生します。私はそれを明確にしたいと思います:) ああ、ちなみに、すべてはcategory.phpでコード化されています。みんなに挨拶:)


編集

私はシームレスな解決策を見つけました、ここにあります:

<?php global $wp_query;
$args = array_merge( $wp_query->query, array( 'category__in' => array(get_query_var('cat')), 'order' => 'DESC', 'orderby' => 'title' ));
query_posts( $args );
?>
4

2 に答える 2

0
$categories = get_the_category();
query_posts('order=ASC&cat='.$categories[0]); ?>
//...above code here
<?php wp_reset_query();?>

これを読むことをお勧めします:http: //codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters

そして、カテゴリ関数の取得を見てください:http: //codex.wordpress.org/Function_Reference/get_the_category

于 2013-01-21T12:55:02.123 に答える
-2
<?php if (have_posts()) : ?>
<?php query_posts('cat=1&posts_per_page='.get_option('posts_per_page')); ?>
于 2013-01-15T17:52:36.690 に答える