必見! ページネーションクラスを使ったページネーションを実装!(コード記載してあります!)

関連記事の紹介

今回はページネーションのコード付き解説をしていきたいと思います。

前回はSQLのLIMITを使ってページネーションを実装する話(コード無し編)

ページネーションクラスの使い方の解説

まずはページネーションクラスの使い方から解説していきます。
ページネーションクラスの記事がこちら->ページネーションクラスを作成した話(2年くらい前に作成、少し編集した)
では、総件数を30件とします。

$total = 30;                     //総件数
$pagenation = new Pagination();  //インスタンスを生成
$pagenation->set_total($total);  //総件数を引数に入れる
$pagenation->set_max_page();     //総件数と1ページに表示する件数でページ数を計算
$current_page=$_GET["page"];     //getパラメータ 名前はpageで固定
$limit = $pagenation->get_db_limit($current_page);  //limitを取得

$sql= 'SELECT wp_terms.term_id, wp_terms.name,wp_term_taxonomy.count
      FROM wp_terms INNER JOIN wp_term_taxonomy
      ON wp_terms.term_id = wp_term_taxonomy.term_id
      WHERE wp_term_taxonomy.taxonomy = "post_tag"
      ORDER BY wp_terms.term_id desc
      limit  '.$limit["cut"].' , '.$limit["view"].'';   //cutが開始位置、viewが取得件数

$result = $dbm->select($sql);  //データを取得

上記のコードでwordpressのタグをページネーションで取得します。

1ページに表示する件数の変更をする

1ページに表示する件数の初期値は5件です。
変更したい場合は下記を参照

$pagenation->set_max_view(15);

上記の関数に引数を渡すと変更できます。1ページに15件表示する。
上記の関数は

$pagenation->set_max_page();     //総件数と1ページに表示する件数でページ数を計算

の関数の前に定義しなくてはいけません

foreachで簡単出力!!

簡単に出力するコードを記載します。

foreach ($result as $val){
	echo $val["name"];
	echo "<br />";
}

現在のページの総件数と件目を表示する

$count_display = $pagenation->get_count_display($current_page);
//$count_displayの出力結果
Array
(
    [total] => 31
    [start] => 1
    [end] => 5
)

使い方としては

$current_display = "総件数".$count_display["total"]."件".
" ".$count_display["start"]."件目から".
" ".$count_display["end"]."件目までを表示";

echo $current_display; //表示する
$number_fowrd = $pagenation->get_shortcut_link($current_page);
echo $number_fowrd["pvre"]; //前のページへのリンクを表示する=> <前へ
echo $number_fowrd["first"]; //最初のページへのリンクを表示する=> 最前
echo $number_fowrd["last"];  //最後のページへのリンクを表示する=> 最後
echo $number_fowrd["next"];  //次のページへのリンクを表示する=> 次へ>
echo $pagenation->get_page_number($current_page); //リンクの文字が数字
例)
1 2 3 //1をクリックすると1ページ目へ 2をクリックすると2ページ目へ

上記の現在のページの前後に表示されるリンクの数は初期値1ページになっています。
つまり現在のページが3ページ目の場合
2 3 4 が表示されます。
変更したい場合は

$pagenation->set_after_link_count();   //現在のページの後に表示するリンクの数
$pagenation->set_before_link_count();  //現在のページの前に表示するリンクの数

上記の引数に数字を入れます。
例えば、

$pagenation->set_after_link_count(2);   //現在のページの後に表示するリンクの数
$pagenation->set_before_link_count(1);  //現在のページの前に表示するリンクの数

現在のページが3だとすると上記の場合の表示は以下の通りです。
2 3 4 5

サンプル画像

ページネーションのサンプル画像

wordpressで使用する時は、まぁしないと思いますが・・Paginationクラスを適当な場所に配置してfunctions.phpに読み込んでください。
今回は以上になります。

私は3年位前にこの本を使って勉強していました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする