サポート » テーマ » 全記事リストを複数ページに分けて表示したい

  • 解決済 ringnir2

    (@ringnir2)


    固定ページに専用テンプレを作り、全記事リストを複数ページに分けて表示したいのですが、「<< Older Entries」をクリックしても次のページに同じ記事リストが表示されてしまうだけです。

    使用しているコードは以下のとおりです。

    <?php $paged = get_query_var('page');
    query_posts( 'post_status=publish&posts_per_page=100&paged=$paged' ); ?>
    
    <?php if (have_posts()) : ?>
    
    <ul>
    
    <?php while (have_posts()) : the_post(); ?>
    
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    
    <?php endwhile; ?>
    
    </ul>
    
    </div>
    
    <?php endif; ?>
    
    <div class="flow">
    
    <div class="left">
    <?php next_posts_link(__('&laquo; Older Entries')) ?>
    </div>
    
    <div class="right">
    <?php previous_posts_link(__('Newer Entries &raquo;')) ?>
    </div>
    
    </div>

    何が間違っているのか、まったくわかりません。
    「<< Older Entries」をクリックしたら過去の記事が表示されるにはどうすればよいでしょうか?
    どなたかわかる方がいたら、教えていただけないでしょうか?

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

    (@jim912)

    ringnir2さん、こんにちは。

    $paged = get_query_var('paged');

    ではないでしょうか?

    トピック投稿者 ringnir2

    (@ringnir2)

    >jim912さん

    pagedに変えても同じなんです。

    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

    Pagination Note: You should set get_query_var( ‘page’ ); if you want your query to work with pagination. Since WordPress 3.0.2, you do get_query_var( ‘page’ ) instead of get_query_var( ‘paged’ ). The pagination parameter ‘paged’ for query_posts() remains the same.

    ここを読む限り、3.0.2以降はpageが推奨らしいので、pageにしてます。

    モデレーター jim912

    (@jim912)

    ringnir2さん

    よく見れば変数がシングルクォートで囲まれて文字列扱いになっています。

    query_posts( 'post_status=publish&posts_per_page=100&paged=$paged' ); ?>

    変数として扱う場合は、ダブルクォートで変数展開が行われるようにするか

    query_posts( "post_status=publish&posts_per_page=100&paged=$paged" ); ?>

    文字列をドットで結合するようにしてください。

    query_posts( 'post_status=publish&posts_per_page=100&paged=' . $paged ); ?>

    トピック投稿者 ringnir2

    (@ringnir2)

    >jim912さん

    仰る通りダブルクォートに変えたら、正常動作しました!
    シングルクォートとダブルクォートに、そういう意味の違いがあるとは知りませんでした。
    教えていただいてありがとうございます。
    助かりました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「全記事リストを複数ページに分けて表示したい」には新たに返信することはできません。