質問編集履歴
2
ソースコードから不要な部分を削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -324,7 +324,7 @@
|
|
324
324
|
|
325
325
|
*/
|
326
326
|
|
327
|
-
|
327
|
+
function pagination( $pages, $paged, $range = 2, $show_only = false ) {
|
328
328
|
|
329
329
|
|
330
330
|
|
1
ページネーション出力関数を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,6 +54,8 @@
|
|
54
54
|
|
55
55
|
|
56
56
|
|
57
|
+
|
58
|
+
|
57
59
|
```php
|
58
60
|
|
59
61
|
// 必要な変数やnonceを最初から出しておく
|
@@ -182,20 +184,18 @@
|
|
182
184
|
|
183
185
|
endwhile;
|
184
186
|
|
187
|
+
|
188
|
+
|
189
|
+
// ページネーション出力
|
190
|
+
|
191
|
+
if ( function_exists( 'pagination' ) ) :
|
192
|
+
|
193
|
+
pagination( $myquery->max_num_pages, $paged );
|
194
|
+
|
195
|
+
endif;
|
196
|
+
|
185
197
|
|
186
198
|
|
187
|
-
if (function_exists('pagination')) {
|
188
|
-
|
189
|
-
$GLOBALS['wp_query']->max_num_pages = $myquery->max_num_pages;
|
190
|
-
|
191
|
-
$max_num_pages = $myquery->max_num_pages;
|
192
|
-
|
193
|
-
pagination($max_num_pages);
|
194
|
-
|
195
|
-
}
|
196
|
-
|
197
|
-
|
198
|
-
|
199
199
|
wp_reset_postdata();
|
200
200
|
|
201
201
|
|
@@ -304,6 +304,152 @@
|
|
304
304
|
|
305
305
|
```
|
306
306
|
|
307
|
+
### 追記
|
308
|
+
|
309
|
+
ページネーション出力関数を追記致します。
|
310
|
+
|
311
|
+
```php
|
312
|
+
|
313
|
+
/**
|
314
|
+
|
315
|
+
* ページネーション出力関数
|
316
|
+
|
317
|
+
* $paged : 現在のページ
|
318
|
+
|
319
|
+
* $pages : 全ページ数
|
320
|
+
|
321
|
+
* $range : 左右に何ページ表示するか
|
322
|
+
|
323
|
+
* $show_only : 1ページしかない時に表示するかどうか
|
324
|
+
|
325
|
+
*/
|
326
|
+
|
327
|
+
public static function pagination( $pages, $paged, $range = 2, $show_only = false ) {
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
$pages = ( int ) $pages; //float型で渡ってくるので明示的に int型 へ
|
332
|
+
|
333
|
+
$paged = $paged ?: 1; //get_query_var('paged')をそのまま投げても大丈夫なように
|
334
|
+
|
335
|
+
|
336
|
+
|
337
|
+
//表示テキスト
|
338
|
+
|
339
|
+
$text_first = "« 最初へ";
|
340
|
+
|
341
|
+
$text_before = "‹ 前へ";
|
342
|
+
|
343
|
+
$text_next = "次へ ›";
|
344
|
+
|
345
|
+
$text_last = "最後へ »";
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
// 表示形式
|
350
|
+
|
351
|
+
$big = 9999999999;
|
352
|
+
|
353
|
+
$args = array(
|
354
|
+
|
355
|
+
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
|
356
|
+
|
357
|
+
'format' => '%#%',
|
358
|
+
|
359
|
+
);
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
if ( $show_only && $pages === 1 ) {
|
364
|
+
|
365
|
+
// 1ページのみで表示設定が true の時
|
366
|
+
|
367
|
+
echo '<div class="pagination"><span class="current pager">1</span></div>';
|
368
|
+
|
369
|
+
return;
|
370
|
+
|
371
|
+
}
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
if ( $pages === 1 ) return; // 1ページのみで表示設定もない場合
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
if ( 1 !== $pages ) {
|
380
|
+
|
381
|
+
//2ページ以上の時
|
382
|
+
|
383
|
+
echo '<div class="pagination"><span class="page_num">Page ', $paged ,' of ', $pages ,'</span>';
|
384
|
+
|
385
|
+
if ( $paged > $range + 1 ) {
|
386
|
+
|
387
|
+
// 「最初へ」 の表示
|
388
|
+
|
389
|
+
echo '<a href="', get_pagenum_link(1) ,'" class="first">', $text_first ,'</a>';
|
390
|
+
|
391
|
+
}
|
392
|
+
|
393
|
+
if ( $paged > 1 ) {
|
394
|
+
|
395
|
+
// 「前へ」 の表示
|
396
|
+
|
397
|
+
echo '<a href="', get_pagenum_link( $paged - 1 ) ,'" class="prev">', $text_before ,'</a>';
|
398
|
+
|
399
|
+
}
|
400
|
+
|
401
|
+
for ( $i = 1; $i <= $pages; $i++ ) {
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
if ( $i <= $paged + $range && $i >= $paged - $range ) {
|
406
|
+
|
407
|
+
// $paged +- $range 以内であればページ番号を出力
|
408
|
+
|
409
|
+
if ( $paged === $i ) {
|
410
|
+
|
411
|
+
echo '<span class="current pager">', $i ,'</span>';
|
412
|
+
|
413
|
+
} else {
|
414
|
+
|
415
|
+
echo '<a href="', get_pagenum_link( $i ) ,'" class="pager">', $i ,'</a>';
|
416
|
+
|
417
|
+
}
|
418
|
+
|
419
|
+
}
|
420
|
+
|
421
|
+
|
422
|
+
|
423
|
+
}
|
424
|
+
|
425
|
+
if ( $paged < $pages ) {
|
426
|
+
|
427
|
+
// 「次へ」 の表示
|
428
|
+
|
429
|
+
echo '<a href="', get_pagenum_link( $paged + 1 ) ,'" class="next">', $text_next ,'</a>';
|
430
|
+
|
431
|
+
}
|
432
|
+
|
433
|
+
if ( $paged + $range < $pages ) {
|
434
|
+
|
435
|
+
// 「最後へ」 の表示
|
436
|
+
|
437
|
+
echo '<a href="', get_pagenum_link( $pages ) ,'" class="last">', $text_last ,'</a>';
|
438
|
+
|
439
|
+
}
|
440
|
+
|
441
|
+
echo '</div>';
|
442
|
+
|
443
|
+
}
|
444
|
+
|
445
|
+
}
|
446
|
+
|
447
|
+
```
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
|
452
|
+
|
307
453
|
### 試したこと
|
308
454
|
|
309
455
|
|