こんにちは。今日も学習した内容をアウトプットということで、タイトル通り
コーデックスによる説明
- base(ページ番号つきのリンクを生成するために使われるベースのURLを指定)
- current(現在のページ番号(初期値は0))
- total(全体のページ数(初期値は1))
baseの記述
ひとまず、ベースとなるURLを指定する必要があるということで、パラメータを使います。ここで行っている処理は、
①esc_url関数というWordPressの関数を用いることで、セキュリティ的に向上されるらしい
②get_pagenum_link関数というこれまたWordPressの関数を用いて、引数(今回は$big)で与えられたページ番号のリンクを返す
③str_replace関数はPHPで出てくる関数で、第一引数(今回は$big)を第二引数(今回は%#%)で置き換えるもので、第三引数(今回はesc_url(get_pagenum_link($big)))が置き換えの検索範囲になる
まあ、そんな感じらしい。
currentの記述
現在のページ番号を指定するが、get_query_var関数によって指定したクエリデータを取得できるみたいだけども、pagedが「0」だった場合、今回お世話になる「paginate_links」が動かなくなる?ことから、そのような事態を避けるためにmax関数を使うことで、「1」以上の数字が返るようにしているみたい。「みたい」を多用している。。。理解がまだまだ甘いです。とりあえず、この記述をしておくことで、おかしな挙動をする事態からは避けられるということ。
totalの記述
全体のページ数を指定。要はページネーションの数ということで、これはWP_Queryの$max_num_pagesを引っ張ってこれば良いということですが、、、
とコーデックスにも記載されているので、そういうことですね。超ざっくりですが、今はこれくらいの理解でOKと自分に言い聞かせるスタイル。
これで一応出力はできました。なお、出力はaタグで出てきます。が、これをリストで出したい場合は、パラメータの「type」を「’type’ => ‘list’」にするとliタグで取れるらしいです。自分はaタグでスタイルは整えました。
「'paged'=>get_query_var('paged') //サブループを用いた場合に必要な記述」の意味
これは、WP_Queryのサブループを使って値を取得した場合には必要で、メインループで値を取得する場合にはこの記載はなくても問題ないそうです。サブループを用いたが故に「paged」に本来与えられているはずの値が入っていない事態に陥ることから、だそうですが、、、詳しい理由は下記のブログにお任せします。自分もしっかり理解して説明できるようになりたい。。。頑張らないと。
ざっくりとこんな感じで。自分用の忘備録なので説明不足も甚だしいですが、アウトプットすることに大きな意味があるからOK。明日もアウトプットできるだけのインプットします。
以上!おしまい。