記事内に広告が含まれています。

STINGER3のアーカイブの記事表示数を変更してみよう

wordpressテーマSTINGER3カスタマイズ wordpressでブログを作ろう

 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')を使うとエラーになる。

 何でなのかわけわからない・・・。

コメント

タイトルとURLをコピーしました