番号なしページネーションを作成 | WordPress自作テーマ

この記事では、”Wordpressにページネーションを実装したい。”と思った方で、番号なしのものがいいと思った方向けの、番号なしページネーションの実装方法をご紹介する。一応、コピペで利用できるようにした。

番号なしページネーション | functions.php

“functions.php”に番号なしページネーションを生成するためのプログラムを簡単に記述。

“function pagination”の解説

“function pagination”を定義したが、その中身の解説。

1-4行目

“pagination”関数を定義して、引数として全ページ数($pages)と現在表示しているページ数($paged)を指定。”$pages”はfloat型で渡ってくるのでint型に型変換。”$paged”は、値なしで渡ってくることがある(false)ので、三項演算子(?:)で、その場合に”1″となるように指定。

6-9行目

変数“$text_first”などを定義して、表示される文字列の指定をする。今回は”Font Awesome 5.72″を利用した。

11行目

全ページ数($pages)が1ページのときは、何も表示しない。

13行目以降

全ページ数($pages)が2ページ以上のときに、実行する。

14-17行目

全ページ数($pages)が3ページ以上、現在のページ数($paged)が3ページ以上ならば、$text_firstを表示する。

18-20行目

現在のページ数($paged)が2ページ以上ならば、$text_prevを表示する。

21-23行目

現在のページ数($paged)が全ページ数($pages)未満であれば、$text_nextを表示する。

24-26行目

現在のページ数($paged)が全ページ数($pages)未満で 、全ページ数($pages)が3ページ以上ならば、$text_lastを表示する。

番号なしページネーション | index.php

functions.phpへの記述が終わったら、そこで定義した関数(function pagination)を呼び出す部分を記述する。呼び出したい部分に下記のように記述するだけだ。

解説

1行目以降

“function pagination”が存在する場合にif内の処理を実行する。

2行目

“wp_query->max_num_pages”で、全ページ数を取得。”get_query_var( ‘paged’ )”で、現在のページ数を取得。

番号なしページネーション | style.css

ここまでで必要な部品の実装は終わった。あとは、sytle.cssで好みの形に変えてあげれば完了だ。私は以下のようにした。

すべての設定を終えると以下の画像のようなページネーションがindex.phpの表示されるページで表示されていることと思う。

pagination

まとめ

この番号なしページネーションは、phpにそれほど慣れていない方でも比較的簡単に理解しながら実装できると思った。

参考サイト

WordPressでページャー(ページネーション)をプラグインなしで実装 | WEMO.tech

共有する

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

コメントをする

メールアドレスが公開されることはありません。
*のついている項目は必須です。


*