サポート » テーマ » 最新記事をトップページに1つだけ表示

  • 解決済 ringnir2

    (@ringnir2)


    single.phpは使わず、index.phpにsingle用のコードを記述しています。

    http://ja.forums.wordpress.org/topic/1169?replies=9

    こちらのリンクを参照し

    <?php if (is_home()) query_posts( 'posts_per_page=1' ); ?>
    
    <?php if (have_posts()) :  while (have_posts()) : the_post(); ?>

    と記述してるのですが、トップに1記事だけ表示ができず、表示設定の設定値どおりの記事数が表示されます。

    何が間違っているのか、わかりません。

    どうすれば、トップに最新記事を1記事だけ表示できるのでしょうか?

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    参照先のリンクには、

    query_posts('showposts=1')

    と書いてありますが、、、

    トピック投稿者 ringnir2

    (@ringnir2)

    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_posts

    こちらの説明では、

    showposts (整数) – number of post to show per page. Deprecated in favor of ‘posts_per_page’.

    と書いてあり、showpostsよりもposts_per_pageを使うことを推奨しています。

    同じ動作をするはずですし、試しにshowpostsに変えても表示は同じでした。

    あと補足ですが、カテゴリなどは表示設定の設定値どおりの記事数を表示し、トップページだけを最新の1記事にしたいのです。

    こんにちは

    非推奨だったんですね(油っぽくなってきました)

    ところで

    single.phpは使わず、index.phpにsingle用のコードを記述しています。

    と書いてありますが、どこにこのコード書いていますか?

    loop.phpに書いてくれていると思うのですが、ちょっと上の一文が気になります。

    私の環境で、loop.phpに記述してテストしました。

    query_posts(‘showposts=1’);//動きます

    if (is_home()) query_posts( ‘posts_per_page=1’ ); //動きます

    クエリーポスト使わなくても

    while loopの最後に

    <?php
    if (have_posts()) : while (have_posts()) : the_post();
    	?><a href="<?php the_permalink() ?>"><?php the_title() ?></a><br /><?php
    if(is_home()){break;}
    endwhile; endif;
    ?>

    でも、いいかも 簡単!

    他、ループが終わったら、wp_reset_query() お忘れなく

    <?php
    query_posts('showposts=5');
    if (have_posts()) : while (have_posts()) : the_post();
    	?><a href="<?php the_permalink() ?>"><?php the_title() ?></a><br /><?php
    endwhile; endif;
    wp_reset_query();
    ?>

    トピック投稿者 ringnir2

    (@ringnir2)

    ありがとうございます。

    query_postsの記述は関係なく、
    endwhile endif の位置がwp_reset_query()の後ろだったのが原因みたいです。

    nobitaさんの記述のとおり、wp_reset_query()の手前に置くと正常動作しました。

    お騒がせしました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「最新記事をトップページに1つだけ表示」には新たに返信することはできません。