質問編集履歴

5

書式の改善

2018/12/29 11:51

投稿

M.Y.
M.Y.

スコア29

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- 先頭«...5...21 22 23 24 25 26 27 28 29 30...40...»最終
25
+ 先頭«...5...21 22 23 24 **25** 26 27 28 29 30...40...»最終
26
26
 
27
27
 
28
28
 
@@ -32,7 +32,7 @@
32
32
 
33
33
  「省略ページを以下の倍数で表示」を「1」に設定すると、以下。
34
34
 
35
- 先頭«...1...21 22 23 24 25 26 27 28 29 30...36...»最終
35
+ 先頭«...1...21 22 23 24 **25** 26 27 28 29 30...36...»最終
36
36
 
37
37
  「36」は11ページ先だし、「1」は「先頭」と重複するので論外。
38
38
 
@@ -46,11 +46,11 @@
46
46
 
47
47
   ↓24ページ目を表示中
48
48
 
49
- 先頭«...10...20 21 22 23 24 25 26 27 28 29...30...»最終
49
+ 先頭«...10...20 21 22 23 **24** 25 26 27 28 29...30...»最終
50
50
 
51
51
   ↓39ページ目を表示中
52
52
 
53
- 先頭«...30...35 36 37 38 39 40 41 42 43 44...50...»最終
53
+ 先頭«...30...35 36 37 38 **39** 40 41 42 43 44...50...»最終
54
54
 
55
55
  (18-12-29追記:10の倍数を前後に表示させるだけなら、 プラグイン「Simplistic page navi」で可能でした。「[ページネーション(ページャー)を作り直してプラグイン](http://strix.main.jp/?diys=wp-pager-remake)」にコードの紹介あり。但しWP-PageNaviと違って「表示するページ数」を10にすることができません、「現在のページに隣接したページ番号を表示させる個数」が左右対称なので。)
56
56
 

4

10の倍数で表示させる場合Simplistic page naviが利用できること

2018/12/29 11:51

投稿

M.Y.
M.Y.

スコア29

test CHANGED
File without changes
test CHANGED
@@ -51,6 +51,8 @@
51
51
   ↓39ページ目を表示中
52
52
 
53
53
  先頭«...30...35 36 37 38 39 40 41 42 43 44...50...»最終
54
+
55
+ (18-12-29追記:10の倍数を前後に表示させるだけなら、 プラグイン「Simplistic page navi」で可能でした。「[ページネーション(ページャー)を作り直してプラグイン](http://strix.main.jp/?diys=wp-pager-remake)」にコードの紹介あり。但しWP-PageNaviと違って「表示するページ数」を10にすることができません、「現在のページに隣接したページ番号を表示させる個数」が左右対称なので。)
54
56
 
55
57
 
56
58
 

3

引用範囲のミスを修正

2018/12/29 11:49

投稿

M.Y.
M.Y.

スコア29

test CHANGED
File without changes
test CHANGED
@@ -70,15 +70,15 @@
70
70
 
71
71
 
72
72
 
73
- 1 2 3 4 5 6 7 8 9 10  >
73
+ > 1 2 3 4 5 6 7 8 9 10  >
74
74
 
75
75
 
76
76
 
77
- という形に表示され、「>」をクリックした時に次の10ページグループが表示されます。
77
+ > という形に表示され、「>」をクリックした時に次の10ページグループが表示されます。
78
78
 
79
79
 
80
80
 
81
- <  11 12 13 14 15 16 17 18 19 20  >
81
+ > <  11 12 13 14 15 16 17 18 19 20  >
82
82
 
83
83
  ```php
84
84
 

2

グループ化する方法の発見

2018/12/18 15:48

投稿

M.Y.
M.Y.

スコア29

test CHANGED
File without changes
test CHANGED
@@ -60,6 +60,108 @@
60
60
 
61
61
 
62
62
 
63
+ ####追記
64
+
65
+  いまウェブ検索のキーワードを「wordpress "10ページ毎" ページネーション」にしてみたら、次のページがヒットしました。
66
+
67
+ [PHPで10ページ毎のページネーション](https://www.kabanoki.net/266)
68
+
69
+ > 動作としては、
70
+
71
+
72
+
73
+ 1 2 3 4 5 6 7 8 9 10  >
74
+
75
+
76
+
77
+ という形に表示され、「>」をクリックした時に次の10ページグループが表示されます。
78
+
79
+
80
+
81
+ <  11 12 13 14 15 16 17 18 19 20  >
82
+
83
+ ```php
84
+
85
+ page = isset($_GET['id']) ? $_GET['id'] : 1;
86
+
87
+ // データ数
88
+
89
+ $cnt = 275;
90
+
91
+ // 1ページの表示件数
92
+
93
+ $preview_item_num = 10;
94
+
95
+
96
+
97
+ // 最大ページ数
98
+
99
+ $max_page = ceil($cnt/$preview_item_num);
100
+
101
+ // 次グループの先頭ページ
102
+
103
+ $prove_group = (ceil( $page/10 )) * 10 + 1 ;
104
+
105
+ // 現在のページグループ
106
+
107
+ $group = (ceil( $page/10 ) - 1);
108
+
109
+ // 二桁の値
110
+
111
+ $select = $group * 10;
112
+
113
+ // 差分
114
+
115
+ $sabun = $cnt - 100 * $group;
116
+
117
+ // 前ページの先頭ページ
118
+
119
+ $prove = $prove_group - 20;
120
+
121
+ // 手抜きで差分が100以上だったら100にする
122
+
123
+ if($sabun > $preview_item_num * 10) $sabun = $preview_item_num * 10;
124
+
125
+
126
+
127
+ // 過剰ページにアクセスがあったら非表示
128
+
129
+ if( $page > 0 || $max_page >= $page )
130
+
131
+ {
132
+
133
+ // 10ページ以上だったら、前ページ移動のリンクを表示
134
+
135
+ if( $page > 10 ) echo sprintf('<a href="?id=%s">前へ</a>', $prove);
136
+
137
+
138
+
139
+ for( $s=1+$select; $s<= ceil($sabun/$preview_item_num)+$select; $s++? )
140
+
141
+ {
142
+
143
+ // 現在ページ以外のページにリンクを貼る
144
+
145
+ if( $page == $s ) echo ' '.$s;
146
+
147
+ else echo sprintf(' <a href="?id=%1$s">%1$s</a>', $s);
148
+
149
+ }
150
+
151
+ // 次のページグループが存在したら表示
152
+
153
+ if( $max_page >= $prove_group? ) echo sprintf(' <a href="?id=%s">後ろへ</a>', $prove_group);
154
+
155
+ }
156
+
157
+ ```
158
+
159
+ ううん、思った形とは異なるけど、10ページごとの移動をする同等の機能としてならこの例みたいなグループ化もありか。但しこれの両端に、「先頭」「最終」へのリンクも附けたい。
160
+
161
+  このソースをWordpressのページネーションに組み込むにはどうするのがよいのか、改造方法を御教示下さると、助かります。
162
+
163
+
164
+
63
165
  ### 補足情報(FW/ツールのバージョンなど)
64
166
 
65
167
  Wordpress バージョン 5.0.1–ja

1

次善の希望として、10の倍数のみの場合

2018/12/18 15:44

投稿

M.Y.
M.Y.

スコア29

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,19 @@
42
42
 
43
43
 
44
44
 
45
+  表示中のページの10ページ先・後へのページ・ナビゲーションが難しい場合は次善として、以下の通り10の倍数をそれぞれ「先頭」「最終」の横に表示させるのでもいい。
46
+
47
+  ↓24ページ目を表示中
48
+
49
+ 先頭«...10...20 21 22 23 24 25 26 27 28 29...30...»最終
50
+
51
+  ↓39ページ目を表示中
52
+
53
+ 先頭«...30...35 36 37 38 39 40 41 42 43 44...50...»最終
54
+
55
+
56
+
45
-  プラグインでなくphpプログラムで実現しても結構が、the_posts_pagination関数やpaginate_links関数のパラメーター一覧を見た限りでは、手立てが見つかりませんでした。
57
+  プラグインでなくphpプログラムで実現しても結構ですが、the_posts_pagination関数やpaginate_links関数のパラメーター一覧を見た限りでは、手立てが見つかりませんでした。
46
58
 
47
59
  [WordPressでページャーを出力する関数 the_posts_pagination の使い方](https://kaminarimagazine.com/web/2017/02/22/wordpress%E3%81%A7%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BC%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B%E9%96%A2%E6%95%B0-the_posts_pagination-%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/)
48
60