質問編集履歴
2
見出し追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
##教えていただきたいこと
|
1
2
|
WordPressのtag.phpでページネーションを実装したのですが、
|
2
3
|
URLに「/page/2/」がつくと404エラーとなってしまいます。
|
3
4
|
|
@@ -12,6 +13,7 @@
|
|
12
13
|
よろしくお願いいたします。
|
13
14
|
|
14
15
|
|
16
|
+
##tag.phpソースコード
|
15
17
|
```
|
16
18
|
<?php
|
17
19
|
/*
|
1
ソースコードを追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,4 +9,88 @@
|
|
9
9
|
また、ページネーションは、paginate_link関数を使用しております。
|
10
10
|
|
11
11
|
404エラーを解決する方法があればご教授いただきたく
|
12
|
-
よろしくお願いいたします。
|
12
|
+
よろしくお願いいたします。
|
13
|
+
|
14
|
+
|
15
|
+
```
|
16
|
+
<?php
|
17
|
+
/*
|
18
|
+
Template Name: タグ一覧テンプレート
|
19
|
+
*/
|
20
|
+
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
|
21
|
+
$tag = get_queried_object();
|
22
|
+
$slugName = $tag->slug;
|
23
|
+
|
24
|
+
$arrayPostType = get_post_types(array('public' => true, '_builtin' => false));
|
25
|
+
|
26
|
+
$the_query = new WP_Query([
|
27
|
+
'post_type' => $arrayPostType,
|
28
|
+
'post_status' => 'publish',
|
29
|
+
'paged' => $paged,
|
30
|
+
'posts_per_page' => 10,
|
31
|
+
'tag' => $slugName,
|
32
|
+
'orderby' => 'date',
|
33
|
+
'order' => 'DESC',
|
34
|
+
'meta_query' => [
|
35
|
+
[
|
36
|
+
'key' => 'list_invisible',
|
37
|
+
'compare' => 'NOT EXISTS',
|
38
|
+
],
|
39
|
+
[
|
40
|
+
'key' => 'list_invisible',
|
41
|
+
'compare' => '!=',
|
42
|
+
'value' => '1',
|
43
|
+
],
|
44
|
+
'relation' => 'OR',
|
45
|
+
],
|
46
|
+
]);
|
47
|
+
|
48
|
+
?>
|
49
|
+
<?php get_header(); ?>
|
50
|
+
|
51
|
+
<article class="article">
|
52
|
+
<div class="section">
|
53
|
+
<div class="inner">
|
54
|
+
<div class="section__body">
|
55
|
+
<?php if ($the_query->have_posts()) : ?>
|
56
|
+
<ul class="article-list">
|
57
|
+
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
|
58
|
+
<li class="article-list__item">
|
59
|
+
<div>
|
60
|
+
<a href="<?php the_permalink(); ?>">
|
61
|
+
<figure><img src="<?php echo esc_url(CFS()->get('eyecatch_image')); ?>" class="eye-catching-image"></figure>
|
62
|
+
<div>
|
63
|
+
<p class="date"><time datetime="<?php the_time('Y.m.d'); ?>"><?php the_time('Y.m.d'); ?></time></p>
|
64
|
+
<p class="article-title"><?php the_title(); ?></p>
|
65
|
+
</div>
|
66
|
+
</a>
|
67
|
+
</div>
|
68
|
+
</li>
|
69
|
+
<?php endwhile; ?>
|
70
|
+
</ul>
|
71
|
+
<?php endif;
|
72
|
+
wp_reset_postdata(); ?>
|
73
|
+
</div>
|
74
|
+
</div>
|
75
|
+
</div>
|
76
|
+
<?php if ($the_query->max_num_pages > 1) : ?>
|
77
|
+
<nav class="pagination">
|
78
|
+
<?php
|
79
|
+
echo paginate_links(array(
|
80
|
+
'base' => get_pagenum_link(1) . '%_%',
|
81
|
+
'format' => 'page/%#%/',
|
82
|
+
'current' => max(1, $paged),
|
83
|
+
'mid_size' => 1,
|
84
|
+
'total' => $the_query->max_num_pages,
|
85
|
+
'type' => 'list',
|
86
|
+
'prev_text' => '<',
|
87
|
+
'next_text' => '>'
|
88
|
+
));
|
89
|
+
?>
|
90
|
+
</nav>
|
91
|
+
<?php endif; ?>
|
92
|
+
</article>
|
93
|
+
|
94
|
+
<?php get_footer(); ?>
|
95
|
+
|
96
|
+
```
|