質問編集履歴

5

説明を追記しました

2018/11/09 01:47

投稿

mamamamamama
mamamamamama

スコア25

test CHANGED
File without changes
test CHANGED
@@ -132,6 +132,8 @@
132
132
 
133
133
  ◆追記2
134
134
 
135
+ 質問の意味が分かりにくかったかもしれないので追記いたします!「子ターム毎に全て」を表示するのではなく、「親ターム以下の投稿全てを表示した一覧ページ」へリンクしたいという意味でした。言い回しが難しい...伝わりましたでしょうか...
136
+
135
137
  ```<ul id="area">
136
138
 
137
139
  <?php

4

間違いを更新しました

2018/11/09 01:47

投稿

mamamamamama
mamamamamama

スコア25

test CHANGED
File without changes
test CHANGED
@@ -132,13 +132,13 @@
132
132
 
133
133
  ◆追記2
134
134
 
135
- ```<ul id="area-list" class="cf">
135
+ ```<ul id="area">
136
136
 
137
137
  <?php
138
138
 
139
- $target_post = 'school';
139
+ $target_post = 'カスタム投稿名';
140
-
140
+
141
- $target_post_cat = 'area_cat';
141
+ $target_post_cat = '親ターム';
142
142
 
143
143
  $post_count = -1;
144
144
 

3

検証途中のコードを掲載しました

2018/11/09 01:34

投稿

mamamamamama
mamamamamama

スコア25

test CHANGED
File without changes
test CHANGED
@@ -124,6 +124,102 @@
124
124
 
125
125
 
126
126
 
127
- 上記コードの最後endforeachのあとに```<p><a href="<?php echo get_term_link( $cat ); ?>">全てをみる</a></p>
127
+ 上記コードの最後endforeachのあとに<p><a href="<?php echo get_term_link( $cat ); ?>">全てをみる</a></p>
128
-
128
+
129
- ```と書いてみましたが、最後にリスト表示されている子ターム一覧へのリンクになってしまいました。書く位置が問題ですかね?
129
+ と書いてみましたが、最後にリスト表示されている子ターム一覧へのリンクになってしまいました。書く位置が問題ですかね?
130
+
131
+
132
+
133
+ ◆追記2
134
+
135
+ ```<ul id="area-list" class="cf">
136
+
137
+ <?php
138
+
139
+ $target_post = 'school';
140
+
141
+ $target_post_cat = 'area_cat';
142
+
143
+ $post_count = -1;
144
+
145
+ $cat_args = array(
146
+
147
+ 'parent' => 0, //トップレベルのタームのみ
148
+
149
+ 'hierarchical' => 0, //子タームを含めない
150
+
151
+ 'hide_empty' => 0 ,//全部出す
152
+
153
+ 'pad_counts' => 1,
154
+
155
+ 'orderby' => 'id'
156
+
157
+ );
158
+
159
+ $cats = get_terms($target_post_cat, $cat_args);
160
+
161
+ foreach ($cats as $cat):
162
+
163
+ ?>
164
+
165
+ <?php
166
+
167
+ $target_cat_name = esc_html($cat->name);//親カテゴリ名
168
+
169
+ $target_cat_slug = esc_html($cat->slug);//親カテゴリスラッグ
170
+
171
+ ?>
172
+
173
+ <li class="dropdown cf">
174
+
175
+ <p id="<?php echo $target_cat_slug; //親カテゴリスラッグ?>"><i class="fas fa-angle-double-down"></i><?php echo $target_cat_name;//親カテゴリ名 ?></p>
176
+
177
+ <?php $child_cats = get_terms($target_post_cat, 'hierarchical=0&hide_empty=0&parent=' . $cat->term_id ); ?>
178
+
179
+ <?php if ($child_cats) : ?>
180
+
181
+ <ul class="child-ul">
182
+
183
+ <?php foreach ($child_cats as $child_cat): ?>
184
+
185
+ <?php
186
+
187
+ $child_cat_name = esc_html($child_cat->name);//子カテゴリ名
188
+
189
+ $target_cat_slug = esc_html($child_cat->slug);//子カテゴリスラッグ
190
+
191
+ ?>
192
+
193
+ <li><a href="<?php echo get_term_link( $child_cat ); ?>"><?php echo $child_cat_name; //子カテゴリ名?></a></li>
194
+
195
+ <?php
196
+
197
+ $args = array(
198
+
199
+ 'post_type' => array($target_post),
200
+
201
+ 'taxonomy' => $target_post_cat,
202
+
203
+ 'term' => $target_cat_slug,
204
+
205
+ 'post_status' => 'publish',
206
+
207
+ 'posts_per_page' => $post_count // 表示するページ数
208
+
209
+ );
210
+
211
+ $my_query = new WP_Query($args);
212
+
213
+ ?>
214
+
215
+ <?php wp_reset_postdata(); ?>
216
+
217
+ <?php endforeach; ?>
218
+
219
+ </ul></li>
220
+
221
+ <?php endif; ?>
222
+
223
+ <p><a href="<?php echo get_term_link( $cat ); ?>">全てをみる</a></p>
224
+
225
+ <?php endforeach; ?>```

2

不要な項目を削除しました。

2018/11/09 01:31

投稿

mamamamamama
mamamamamama

スコア25

test CHANGED
File without changes
test CHANGED
@@ -23,10 +23,6 @@
23
23
  ### 該当のソースコード
24
24
 
25
25
 
26
-
27
- ```<p><a href="<?php echo get_term_link( $target_cat_name ); ?>">全てをみる</a></p>
28
-
29
- ```
30
26
 
31
27
 
32
28
 

1

本文内にあります前回完成したコードを追記しました。

2018/11/08 02:21

投稿

mamamamamama
mamamamamama

スコア25

test CHANGED
File without changes
test CHANGED
@@ -27,3 +27,107 @@
27
27
  ```<p><a href="<?php echo get_term_link( $target_cat_name ); ?>">全てをみる</a></p>
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ ◆追記(前回質問で解決したコード)
34
+
35
+ ```<ul id="area-list" class="cf">
36
+
37
+ <?php
38
+
39
+ $target_post = 'カスタム投稿名';
40
+
41
+ $target_post_cat = 'タクソノミー名';
42
+
43
+ $post_count = -1;
44
+
45
+ $cat_args = array(
46
+
47
+ 'parent' => 0, //トップレベルのタームのみ
48
+
49
+ 'hierarchical' => 0, //子タームを含めない
50
+
51
+ 'hide_empty' => 0 ,//全部出す
52
+
53
+ 'pad_counts' => 1
54
+
55
+ );
56
+
57
+ $cats = get_terms($target_post_cat, $cat_args);
58
+
59
+ foreach ($cats as $cat):
60
+
61
+ ?>
62
+
63
+ <?php
64
+
65
+ $target_cat_name = esc_html($cat->name);//親カテゴリ名
66
+
67
+ $target_cat_slug = esc_html($cat->slug);//親カテゴリスラッグ
68
+
69
+ ?>
70
+
71
+ <li class="dropdown cf">
72
+
73
+ <p id="<?php echo $target_cat_slug; //親カテゴリスラッグ?>"><i class="fas fa-angle-double-down"></i><?php echo $target_cat_name;//親カテゴリ名 ?></p>
74
+
75
+ <?php $child_cats = get_terms($target_post_cat, 'hierarchical=0&hide_empty=0&parent=' . $cat->term_id ); ?>
76
+
77
+ <?php if ($child_cats) : ?>
78
+
79
+ <ul class="child-ul">
80
+
81
+ <?php foreach ($child_cats as $child_cat): ?>
82
+
83
+ <?php
84
+
85
+ $child_cat_name = esc_html($child_cat->name);//子カテゴリ名
86
+
87
+ $target_cat_slug = esc_html($child_cat->slug);//子カテゴリスラッグ
88
+
89
+ ?>
90
+
91
+ <li><a href="<?php echo get_term_link( $child_cat ); ?>"><?php echo $child_cat_name; //子カテゴリ名?></a><?php echo $child_cat_name; //子カテゴリ名?></a></li>
92
+
93
+ <?php
94
+
95
+ $args = array(
96
+
97
+ 'post_type' => array($target_post),
98
+
99
+ 'taxonomy' => $target_post_cat,
100
+
101
+ 'term' => $target_cat_slug,
102
+
103
+ 'post_status' => 'publish',
104
+
105
+ 'posts_per_page' => $post_count, // 表示するページ数
106
+
107
+ 'orderby' => 'menu_order',
108
+
109
+ //'order' => 'DESC' // 並び順
110
+
111
+ );
112
+
113
+ $my_query = new WP_Query($args);
114
+
115
+ ?>
116
+
117
+ <?php wp_reset_postdata(); ?>
118
+
119
+ <?php endforeach; ?>
120
+
121
+ </ul></li>
122
+
123
+ <?php endif; ?>
124
+
125
+ <?php endforeach; ?>
126
+
127
+ ```
128
+
129
+
130
+
131
+ 上記コードの最後endforeachのあとに```<p><a href="<?php echo get_term_link( $cat ); ?>">全てをみる</a></p>
132
+
133
+ ```と書いてみましたが、最後にリスト表示されている子ターム一覧へのリンクになってしまいました。書く位置が問題ですかね?