サポート » テーマ » index.phpでquery_postsを使って特定カテゴリのみ表示させ、記事を全文表示さ

  • 解決済 marine560

    (@marine560)


    twentytenのテーマを使っています。
    index.phpのページに特定カテゴリのみ表示させる方法で
    loop.phpに<?php if ( ! in_category(‘N’)) continue; ?> を使ってみたのですが、
    これだと設定画面で「表示する投稿を10」に指定してあったとして、表示キャンセルを指定した記事が8個あった場合、トップページには2個しか出てきません。投稿が増える度に表示数が変わってしまいます。
    次に使ってみたのが
    <?php query_posts($query_string . ‘&cat=3&showposts=5’); ?>
    なのですが、これだと文章が途中までしか表示せず
    続きを読む→
    が表示してページ分割してしまいます。
    index.phpだけ続きを読む→を表示させないで全文を表示するようにするにはどうしたらよいのでしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    query_posts()でcatを指定すると、アーカイブ扱いになります。
    したがって、loop.phpでif文if ( is_archive() || is_search() )の中で書かれているようにthe_excerpt()で概要が表示されます。全文を表示するにはthe_content()に変更すればよいでしょう。

    なお、トップページだけに適用させるにはloop-index.phpと別名で保存してください。loop.phpは他のアーカイブや検索結果でも使われていますので。

    トピック投稿者 marine560

    (@marine560)

    hissy様
    ありがとうございます。

    if ( is_archive() || is_search() ) は2ヶ所書かれているところがあって、どちらかな?と思ったのですが
    <?php /* How to display all other posts. */ ?> の下の
    <?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
    <div class=”entry-summary”>
    <?php the_excerpt(); ?>
    </div><!– .entry-summary –>
    をthe_content()に変更したら出来ました。

    これで安心して年が越せますm(__)m

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「index.phpでquery_postsを使って特定カテゴリのみ表示させ、記事を全文表示さ」には新たに返信することはできません。