質問編集履歴

2

試したことの内容を更新しました

2018/08/30 01:55

投稿

pndki99
pndki99

スコア6

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,9 @@
56
56
 
57
57
  ### 試したこと
58
58
 
59
- 参考サイトをもとに以下を試してみましたが、エラ(wordpressデバッグモードで、$prev = $page – 1;あたりエラ)で表示することができませんでした。
59
+ ページ送りなしの場合は、以下のコードで実現できたのですがこれジ送りをつけることは可能なのか?
60
+
61
+ また、ページ送りをつけるために必要な条件やデータの取得をどのようにしたらよいのかわからないでいます。
60
62
 
61
63
 
62
64
 
@@ -64,68 +66,82 @@
64
66
 
65
67
  <?php
66
68
 
67
- $post_slug = get_page_uri(get_the_ID());
69
+ $taxonomy_name = 'タクソノミーのスラッグ名';
68
70
 
69
- $url = $_SERVER["REQUEST_URI"];
71
+ $post_type = 'カスタム投稿のスラッグ名';
70
72
 
71
- $segments = explode(‘/’, $url);
73
+ $args = array(
72
74
 
73
- $page = is_numeric($segments[count($segments)-2]) ? $segments[count($segments)-2] : 1;
75
+ 'orderby' => 'name',
74
76
 
75
- $next = $page + 1;
77
+ 'hierarchical' => false,
76
78
 
77
- $prev = $page 1;
79
+ );
78
80
 
79
- $issues_per_page = 10;
81
+ $taxonomys = get_terms( $taxonomy_name, $args);
80
82
 
83
+
84
+
85
+ if(!is_wp_error($taxonomys) && count($taxonomys)):
86
+
87
+ foreach($taxonomys as $taxonomy):
88
+
81
- $lastpage = ceil(wp_count_terms( taxonomy_name) / $issues_per_page) ;
89
+ $url = get_term_link($taxonomy->slug, $taxonomy_name);
90
+
91
+ $tax_posts = get_posts( array(
92
+
93
+ 'post_type' => $post_type,
94
+
95
+ 'posts_per_page' => -1, //タクソノミ内記事全件表示
96
+
97
+ 'tax_query' => array(
98
+
99
+ array(
100
+
101
+ 'taxonomy' => $taxonomy_name,
102
+
103
+ 'terms' => array( $taxonomy->slug ),
104
+
105
+ 'field' => 'slug',
106
+
107
+ 'include_children' => true,
108
+
109
+ 'operator' => 'IN'
110
+
111
+ )
112
+
113
+ )
114
+
115
+ ));
116
+
117
+ if( $tax_posts ) {
82
118
 
83
119
  ?>
84
120
 
85
- <?php foreach (get_terms(‘taxonomy_name’, array(‘offset’ => ($page – 1) * $issues_per_page, ‘number’ => $issues_per_page)) as $cat) : ?>
121
+ <section>
86
122
 
87
- <a href="<?php echo get_term_link($cat->slug, taxonomy_name); ?>">
123
+ <h3 id="<?php echo esc_html($taxonomy->slug); ?>"><?php echo esc_html($taxonomy->name); ?></h3>
88
124
 
89
- <?php echo $cat->name; ?></a>
125
+ <ul>
90
126
 
91
- <ul>
127
+ <?php foreach($tax_posts as $tax_post): ?>
92
128
 
93
- <?php $id = $cat->term_id;
129
+ <li><a href="<?php echo get_permalink($tax_post->ID); ?>"><?php echo get_the_title($tax_post->ID); ?></a></li>
94
130
 
95
- $args = array( ‘post_type’ => ‘custom_post’, ‘numberposts’ => ‘-1’, ‘tax_query’ => array( array( ‘taxonomy’ => ‘taxonomy_name’, ‘field’ => ‘term_id’, ‘terms’ => $id, ) ) ); $my_posts = get_posts($args); ?>
131
+ <?php endforeach; wp_reset_postdata(); ?>
96
132
 
97
- <?php foreach ( $my_posts as $post ): ?>
133
+ </ul>
98
134
 
99
- <li>
135
+ </section>
100
136
 
101
- <?php get_the_title($post); ?>
137
+ <?php
102
138
 
103
- </li>
139
+ }
104
140
 
105
- <?php endforeach; ?>
141
+ endforeach;
106
142
 
107
- </ul>
143
+ endif;
108
144
 
109
- <?php endforeach; ?>
110
-
111
- <nav>
145
+ ?>
112
-
113
- <ul class="pagenation">
114
-
115
- <?php if ($prev > 0) : ?>
116
-
117
- <li><a href="/<?php echo $post_slug; ?>/<?php echo $prev; ?>/">Previous</a></li>
118
-
119
- <?php endif ?>
120
-
121
- <?php if ($page < $lastpage) : ?>
122
-
123
- <li><a href="/<?php echo $post_slug; ?>/<?php echo $next; ?>/">Next</a</li>
124
-
125
- <?php endif ?>
126
-
127
- </ul>
128
-
129
- </nav>
130
146
 
131
147
  ```

1

試したコードを追加

2018/08/30 01:55

投稿

pndki99
pndki99

スコア6

test CHANGED
File without changes
test CHANGED
@@ -51,3 +51,81 @@
51
51
  ページ送りなしの場合は、参考サイトをいくつか見つけることができ、上記のような形を実装することができたのですが、ページ送りをつける場合の解決方法がわかりません。
52
52
 
53
53
  WP初心者です。ご教授の程、どうぞ宜しくお願い致します。
54
+
55
+
56
+
57
+ ### 試したこと
58
+
59
+ 参考サイトをもとに以下を試してみましたが、エラー(wordpressデバッグモードで、$prev = $page – 1;あたりにエラー)で表示することができませんでした。
60
+
61
+
62
+
63
+ ```ここに言語を入力
64
+
65
+ <?php
66
+
67
+ $post_slug = get_page_uri(get_the_ID());
68
+
69
+ $url = $_SERVER["REQUEST_URI"];
70
+
71
+ $segments = explode(‘/’, $url);
72
+
73
+ $page = is_numeric($segments[count($segments)-2]) ? $segments[count($segments)-2] : 1;
74
+
75
+ $next = $page + 1;
76
+
77
+ $prev = $page – 1;
78
+
79
+ $issues_per_page = 10;
80
+
81
+ $lastpage = ceil(wp_count_terms( ‘taxonomy_name’) / $issues_per_page) ;
82
+
83
+ ?>
84
+
85
+ <?php foreach (get_terms(‘taxonomy_name’, array(‘offset’ => ($page – 1) * $issues_per_page, ‘number’ => $issues_per_page)) as $cat) : ?>
86
+
87
+ <a href="<?php echo get_term_link($cat->slug, ‘taxonomy_name’); ?>">
88
+
89
+ <?php echo $cat->name; ?></a>
90
+
91
+ <ul>
92
+
93
+ <?php $id = $cat->term_id;
94
+
95
+ $args = array( ‘post_type’ => ‘custom_post’, ‘numberposts’ => ‘-1’, ‘tax_query’ => array( array( ‘taxonomy’ => ‘taxonomy_name’, ‘field’ => ‘term_id’, ‘terms’ => $id, ) ) ); $my_posts = get_posts($args); ?>
96
+
97
+ <?php foreach ( $my_posts as $post ): ?>
98
+
99
+ <li>
100
+
101
+ <?php get_the_title($post); ?>
102
+
103
+ </li>
104
+
105
+ <?php endforeach; ?>
106
+
107
+ </ul>
108
+
109
+ <?php endforeach; ?>
110
+
111
+ <nav>
112
+
113
+ <ul class="pagenation">
114
+
115
+ <?php if ($prev > 0) : ?>
116
+
117
+ <li><a href="/<?php echo $post_slug; ?>/<?php echo $prev; ?>/">Previous</a></li>
118
+
119
+ <?php endif ?>
120
+
121
+ <?php if ($page < $lastpage) : ?>
122
+
123
+ <li><a href="/<?php echo $post_slug; ?>/<?php echo $next; ?>/">Next</a</li>
124
+
125
+ <?php endif ?>
126
+
127
+ </ul>
128
+
129
+ </nav>
130
+
131
+ ```