サポート » 使い方全般 » category.phpで記事の並び方を変えたい

  • 解決済 takaraism

    (@takaraism)


    category.phpで

    <?php if ( $blog_id == 1 ) {
    ?>
    <?php include( TEMPLATEPATH . ‘/カテゴリーテンプレートA.php’ ); ?>
    <?php } ?>

    <?php if ( $blog_id == 2 ) {
    ?>
    <?php include( TEMPLATEPATH . ‘/カテゴリーテンプレートB.php’ ); ?>
    <?php } ?>

    とテンプレートのデザインを変えてcategory.phpの呼び出しを行っています。

    そのテンプレートに

    <div class=”wrapper”>

    <?php
    if($posts): foreach($posts as $post): setup_postdata($post);
    ?>
    <div class=”page-title03″>
    <h2><?php the_title(); ?></h2>
    </div>
    <?php endforeach; endif;?>

    </div>

    というようなソースを書いて、
    各カテゴリーに所属するデーターを呼び出しているのですが、
    はき出されるデーターが新しい記事が上に来る降順になっています。
    これを昇順にしたいので、いろいろ調べてみて、
    <?php if($posts)~ の中に
    query_posts(‘order=ASC’);
    を入れてみたのですが、思い通りになりません。

    これは、<?php if($posts)~の書き方がcategory.phpに合わない書き方なのでしょうか?
    アドバイスを頂けたら幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • カテゴリアーカイブを呼び出す時に、グローバル変数

    global $query_string;
    

    に既に情報が入っているので、それを使わないでquery_posts()のようなものを呼び出すと、結果が(おそらく全部表示されていると思います)思ったものにならないです。その場合は、

    global $query_string;
    query_posts( $query_string . "&order=ASC" );
    

    のように既存のクエリストリングに追加する書き方をすれば解決するでしょう。
    ※既存のクエリストリングを書き換えると、その後のループが誤動作することがあります。必要であれば、退避しておくとよいでしょう。

    報告が遅くなりました。

    V.J.Catkickさんのアドバイスを元に改造し、

    <?php
    query_posts( $query_string . “&order=ASC” );
    while (have_posts()) : the_post();
    ?>

    ●●●●

    <?php endwhile; else: ?>

    で、並び替える事が出来ました。
    アドバイスありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「category.phpで記事の並び方を変えたい」には新たに返信することはできません。