STINGER3のアーカイブの記事表示数を変更してみよう。
前に書いたとおり、このブログは管理画面の表示設定が1ページに3つの記事を表示するようになっている。
前回はTOPページの記事の表示件数を変更したので、今回は、アーカイブの表示機次数の変更をしてみたいと思う。
表示件数を変える対象テーマとphpファイル
テーマ:STINGER3
phpファイル:archive.php
表示件数を変えるコード
<?php
$paged = get_query_var('paged');
query_posts($query_string . '&posts_per_page=20&paged=' . $paged);
?>
posts_per_page=5
⇒1ページに20記事表示する。
-1ですべての記事を表示する。
cat=0
⇒すべてのカテゴリー?
$paged
⇒「カテゴリーページ」「タグページ」などの現在のページ番号を取得できるグローバル変数。
get_query_var('paged')
⇒現在のページ番号を取得する
表示件数を変えるコードの挿入場所
<?php if ( have_posts() ) : while (have_posts()) : the_post();?>の前に上のコードを挿入する。
STINGER3の場合これで、アーカイブページの表示件数を変えることができる。
また、ページ送りも正常にできる。
WordPress初心者の素朴な疑問
TOPページで表示件数を変えたときのコードは↓
<?php
query_posts($query_string);
query_posts('posts_per_page=5&cat=0&paged='.$paged);
?>
でもこのコードだとarchiveではすべての記事がどのタイトルでも表示されてしまう。
たとえば、「カテゴリー1」も「カテゴリー2」関係なくすべての記事が表示される。
で、なぜか投稿情報を検索した際(直前のquery_postsの実行時)の条件を示す文字列$query_stringを現在のページ番号を取得するget_query_var('paged')に変えたらきちんと表示されるようになった。
ページ送りも問題なし。
TOPページでも、get_query_var('paged')でよさそうなものだがTOPページでget_query_var('paged')を使うとエラーになる。
何でなのかわけわからない・・・。
コメント