WordPress

WordPressで投稿記事のページ送りをする

More than 3 years have passed since last update.

初めに

今回は,WordPressの投稿記事を表示して行ってある程度表示したら次のページといったようなページ送りするといったもの実装して結構使いそうだなと思ったのでここにまとめておく.

query_posts( $arg )

このWordPressAPIを実行すると,have_posts()などのAPIで使用できるように記事を取得してくれる.
$arg変数に様々なパラメーターをつけることで取得する記事を選択できる.
query_posts で指定できるパラメーター
に色々書いてあったのでそこを参考にするといいかと思う.

posts_nav_link( $sep, $prelabel, $nextlabel );

$sep -> $prelabelと$nextlabelの間に表示する文字列

$prelabel -> 一ページ戻るリンクに表示する文字列

$nextlabel -> 一ページ進むリンクに表示する文字列

posts_nav_link( ' | ', 'Prev', 'Next' );

を実行すると進むページがあって戻るページがあると以下のように表示される.

Prev | Next

また,戻るページがないと$prelabelが表示されず,逆に進むページがないと$nextlabelが表示されない.また,いずれかもしくは両方のページがない場合は$sepも表示されない.

実装

//現在のページ数を取得する.
$paged = get_query_var('paged');

//posts_per_pageで取得する投稿記事数と
//pagedで現在のページ(ページに合わせて表示する記事を取得する)を指定している.
query_posts( 'posts_per_page=20&paged=' . $paged );

if( have_posts() ) :
  while( have_posts() ) :
    the_title();    //ここに好きな処理を実行する.
  endwhile;
endif;

//このAPIでPrev, Nextがaタグのようにして戻る進むが表示される.
posts_nav_link( ' | ', 'Prev', 'Next' );

//公式ドキュメントでquery_postsを実行して用が済んだらこのAPIを実行しろと書いてある.
wp_reset_query();