質問するログイン新規登録

質問編集履歴

2

見出し追加

2021/12/09 04:52

投稿

G3hdi19kk
G3hdi19kk

スコア0

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

ソースコードを追加しました。

2021/12/09 04:52

投稿

G3hdi19kk
G3hdi19kk

スコア0

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' => '&lt;',
87
+ 'next_text' => '&gt;'
88
+ ));
89
+ ?>
90
+ </nav>
91
+ <?php endif; ?>
92
+ </article>
93
+
94
+ <?php get_footer(); ?>
95
+
96
+ ```