質問編集履歴

1

ページネーションコード追加しました。

2021/07/07 03:16

投稿

mmmmnet
mmmmnet

スコア1

test CHANGED
File without changes
test CHANGED
@@ -106,9 +106,143 @@
106
106
 
107
107
 
108
108
 
109
- ページネーション
109
+ ページネーション(function.php)
110
+
110
-
111
+ ```
112
+
113
+ function pagenation($limit = NULL, $post_typed = 'posts') {
114
+
115
+ global $wp_rewrite;
116
+
117
+ global $paged;
118
+
119
+ global $wp_query;
120
+
121
+
122
+
123
+ // 検索条件
124
+
125
+ $query = array();
126
+
127
+ if ($limit != NULL) {
128
+
129
+ $query['posts_per_page'] = $limit;
130
+
131
+ }
132
+
133
+ if (count($query) != 0) {
134
+
135
+ $wp_query->query($query);
136
+
137
+ }
138
+
139
+
140
+
141
+ $wp_query->query(array(
142
+
143
+ 'post_type' => $post_typed,
144
+
145
+ ));
146
+
147
+ $paginate_base = get_pagenum_link();
148
+
149
+
150
+
151
+ if( strpos( $paginate_base, '?' ) || !$wp_rewrite->using_permalinks() ) {
152
+
153
+ $paginate_format = '';
154
+
155
+ $paginate_base = add_query_arg( 'paged', '%#%' );
156
+
157
+ } else {
158
+
159
+ $paginate_format = (substr( $paginate_base, -1, 1 ) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged');
160
+
161
+ $paginate_base .= '%_%';
162
+
163
+ }
164
+
165
+
166
+
167
+
168
+
169
+ if( $paged < 2 ) {
170
+
171
+ $paged = 1;
172
+
173
+ }
174
+
175
+ $args = array(
176
+
177
+ 'base' => $paginate_base,
178
+
179
+ 'format' => $paginate_format,
180
+
181
+ 'total' => $wp_query->max_num_pages,
182
+
183
+ 'current' => $paged,
184
+
185
+ 'show_all' => false,
186
+
187
+ 'prev_next' => true,
188
+
189
+ 'prev_text' => '&laquo;',
190
+
191
+ 'next_text' => '&raquo;',
192
+
193
+ 'type' => 'array',
194
+
195
+ );
196
+
197
+ $pagenate_array = paginate_links($args);
198
+
199
+
200
+
201
+ // 配列がある場合のみ
202
+
203
+ if (is_array($pagenate_array) == TRUE) {
204
+
205
+ $pagenate .= '<div class="wp-pagenavi">';
206
+
207
+ foreach ($pagenate_array as $key => $value) {
208
+
209
+
210
+
211
+ if (preg_match('/current/', $value) == TRUE) {
212
+
213
+ $class = '';
214
+
215
+ }
216
+
217
+ else {
218
+
219
+ $class = '';
220
+
221
+ }
222
+
223
+
224
+
225
+ // $value = "<span class=\"{$class}\">".$value.'</span>';
226
+
227
+ // リンク追加
228
+
229
+ $pagenate .= $value;
230
+
231
+ }
232
+
233
+
234
+
235
+ $pagenate .= '</div>';
236
+
237
+ echo $pagenate;
238
+
239
+ }
240
+
241
+ }
242
+
243
+ ```
244
+
111
- [【WordPress】カスタム投稿タイプにも対応しているページネーション用関数](https://qiita.com/itsumoonazicode/items/a62c8d59696b65c61d2f)
245
+ [【WordPress】カスタム投稿タイプにも対応しているページネーション用関数より](https://qiita.com/itsumoonazicode/items/a62c8d59696b65c61d2f)
112
246
 
113
247
 
114
248