サポート » 使い方全般 » サイドバーに特定カテゴリーの記事リスト

  • 解決済 takuzoo

    (@takuzoo)


    表示がおかしくなってしまっで色々変更してみたのですが駄目でいきずまってしまいました
    対処法などありましたらよろしくお願いします
    色々しらべてサイドバーに特定カテゴリーの記事リスト
    サイドバーに

    <?php query_posts($query_string . '&cat=1&showposts=5'); ?>
    <ul id="whatsnew">
    <?php if(have_posts()):while(have_posts()):the_post();?>
    <li><span><?php the_time('Y-m-d'); ?></span><br /><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endwhile;?>
    </ul>
    <?php endif; ?>

    をExecutable PHP widgetで張り付けているんですが
    home.phpは異常はないのですが
    category.phpとpage.phpとsingle.phpがどうもうまくいってないんです
    多分index.phpを参照してるみたいなんですけど・・・・
    <?php query_posts($query_string . '&cat=1&showposts=5'); ?>
    この部分を削除すると各ページを参照して表示してくれるみたいなんです
    考えられる原因は何があるでしょうか
    説明足らずのところありましたらすぐに返信いたしますのでよろしくお願いします

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 重要事項

    query_posts 関数はメインの WordPress ループだけを変更するためのものです。新たなループを作るためのものではありません。メインループの他にループが必要な場合は、別の WP_Query オブジェクトを作ってください。メインループの他で query_posts を使用すると、メインループが不正な状態になり期待する結果が得られません。

    query_posts 関数はページのメインクエリを上書きし、置き換えます。他の目的で使用してはいけません。

    とありますので、get postsを使うほうが良いと思われますが。どうでしょう。

    トピック投稿者 takuzoo

    (@takuzoo)

    >shokun0803様早速のご返答ありがとうございました

    <?php get_posts('category=1&numberposts=5'); ?>
    <ul id="whatsnew">
    <?php if(have_posts()):while(have_posts()):the_post();?>
    <li><span><?php the_time('Y-m-d'); ?></span><br /><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endwhile;?>
    </ul>
    <?php endif; ?>

    get_postsに変更いたしましたところページはちゃんと表示されました。
    がカテゴリーが取得できてないようです書き方が悪いんでしょうか><
    もともと根本的な作りがおかしいのでしょうか
    テンプレートタグ/get postsを参考に

    <ul id="whatsnew">
    <?php
    $myposts = get_posts('numberposts=5&category=1');
    foreach($myposts as $post) :
    ?>
    <li><span><?php the_time('Y-m-d'); ?></span><br /><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
    </ul>

    もだめでした><
    何か方法はないでしょうか

    <ul id="whatsnew">
    <?php
    $myposts = get_posts('numberposts=5&category=1');
    foreach($myposts as $post) :
      setup_postdata($post);
    ?>
    <li><span><?php the_time('Y-m-d'); ?></span><br /><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
    </ul>

    これでどうですか。

    トピック投稿者 takuzoo

    (@takuzoo)

    >spaisさんありがとうございました
    なんでか分りませんが

    <?php
    $myposts = get_posts('numberposts=5&category=1');
    foreach($myposts as $post) :
      setup_postdata($post);
    ?>

    sidebar.phpに直接書いてUPで上手く行きました?
    なんでExecutable PHP widgetに直接じゃ駄目だったんでしょうか?
    なにわともわれ上手くいきました

    ありがとうございました

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「サイドバーに特定カテゴリーの記事リスト」には新たに返信することはできません。