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

質問編集履歴

5

説明を追記しました

2018/11/09 01:47

投稿

mamamamamama
mamamamamama

スコア25

title CHANGED
File without changes
body CHANGED
@@ -65,6 +65,7 @@
65
65
  と書いてみましたが、最後にリスト表示されている子ターム一覧へのリンクになってしまいました。書く位置が問題ですかね?
66
66
 
67
67
  ◆追記2
68
+ 質問の意味が分かりにくかったかもしれないので追記いたします!「子ターム毎に全て」を表示するのではなく、「親ターム以下の投稿全てを表示した一覧ページ」へリンクしたいという意味でした。言い回しが難しい...伝わりましたでしょうか...
68
69
  ```<ul id="area">
69
70
  <?php
70
71
  $target_post = 'カスタム投稿名';

4

間違いを更新しました

2018/11/09 01:47

投稿

mamamamamama
mamamamamama

スコア25

title CHANGED
File without changes
body CHANGED
@@ -65,10 +65,10 @@
65
65
  と書いてみましたが、最後にリスト表示されている子ターム一覧へのリンクになってしまいました。書く位置が問題ですかね?
66
66
 
67
67
  ◆追記2
68
- ```<ul id="area-list" class="cf">
68
+ ```<ul id="area">
69
69
  <?php
70
- $target_post = 'school';
70
+ $target_post = 'カスタム投稿名';
71
- $target_post_cat = 'area_cat';
71
+ $target_post_cat = '親ターム';
72
72
  $post_count = -1;
73
73
  $cat_args = array(
74
74
  'parent' => 0, //トップレベルのタームのみ

3

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

2018/11/09 01:34

投稿

mamamamamama
mamamamamama

スコア25

title CHANGED
File without changes
body CHANGED
@@ -61,5 +61,53 @@
61
61
  <?php endforeach; ?>
62
62
  ```
63
63
 
64
- 上記コードの最後endforeachのあとに```<p><a href="<?php echo get_term_link( $cat ); ?>">全てをみる</a></p>
64
+ 上記コードの最後endforeachのあとに<p><a href="<?php echo get_term_link( $cat ); ?>">全てをみる</a></p>
65
- ```と書いてみましたが、最後にリスト表示されている子ターム一覧へのリンクになってしまいました。書く位置が問題ですかね?
65
+ と書いてみましたが、最後にリスト表示されている子ターム一覧へのリンクになってしまいました。書く位置が問題ですかね?
66
+
67
+ ◆追記2
68
+ ```<ul id="area-list" class="cf">
69
+ <?php
70
+ $target_post = 'school';
71
+ $target_post_cat = 'area_cat';
72
+ $post_count = -1;
73
+ $cat_args = array(
74
+ 'parent' => 0, //トップレベルのタームのみ
75
+ 'hierarchical' => 0, //子タームを含めない
76
+ 'hide_empty' => 0 ,//全部出す
77
+ 'pad_counts' => 1,
78
+ 'orderby' => 'id'
79
+ );
80
+ $cats = get_terms($target_post_cat, $cat_args);
81
+ foreach ($cats as $cat):
82
+ ?>
83
+ <?php
84
+ $target_cat_name = esc_html($cat->name);//親カテゴリ名
85
+ $target_cat_slug = esc_html($cat->slug);//親カテゴリスラッグ
86
+ ?>
87
+ <li class="dropdown cf">
88
+ <p id="<?php echo $target_cat_slug; //親カテゴリスラッグ?>"><i class="fas fa-angle-double-down"></i><?php echo $target_cat_name;//親カテゴリ名 ?></p>
89
+ <?php $child_cats = get_terms($target_post_cat, 'hierarchical=0&hide_empty=0&parent=' . $cat->term_id ); ?>
90
+ <?php if ($child_cats) : ?>
91
+ <ul class="child-ul">
92
+ <?php foreach ($child_cats as $child_cat): ?>
93
+ <?php
94
+ $child_cat_name = esc_html($child_cat->name);//子カテゴリ名
95
+ $target_cat_slug = esc_html($child_cat->slug);//子カテゴリスラッグ
96
+ ?>
97
+ <li><a href="<?php echo get_term_link( $child_cat ); ?>"><?php echo $child_cat_name; //子カテゴリ名?></a></li>
98
+ <?php
99
+ $args = array(
100
+ 'post_type' => array($target_post),
101
+ 'taxonomy' => $target_post_cat,
102
+ 'term' => $target_cat_slug,
103
+ 'post_status' => 'publish',
104
+ 'posts_per_page' => $post_count // 表示するページ数
105
+ );
106
+ $my_query = new WP_Query($args);
107
+ ?>
108
+ <?php wp_reset_postdata(); ?>
109
+ <?php endforeach; ?>
110
+ </ul></li>
111
+ <?php endif; ?>
112
+ <p><a href="<?php echo get_term_link( $cat ); ?>">全てをみる</a></p>
113
+ <?php endforeach; ?>```

2

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

2018/11/09 01:31

投稿

mamamamamama
mamamamamama

スコア25

title CHANGED
File without changes
body CHANGED
@@ -11,8 +11,6 @@
11
11
 
12
12
  ### 該当のソースコード
13
13
 
14
- ```<p><a href="<?php echo get_term_link( $target_cat_name ); ?>">全てをみる</a></p>
15
- ```
16
14
 
17
15
  ◆追記(前回質問で解決したコード)
18
16
  ```<ul id="area-list" class="cf">

1

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

2018/11/08 02:21

投稿

mamamamamama
mamamamamama

スコア25

title CHANGED
File without changes
body CHANGED
@@ -12,4 +12,56 @@
12
12
  ### 該当のソースコード
13
13
 
14
14
  ```<p><a href="<?php echo get_term_link( $target_cat_name ); ?>">全てをみる</a></p>
15
- ```
15
+ ```
16
+
17
+ ◆追記(前回質問で解決したコード)
18
+ ```<ul id="area-list" class="cf">
19
+ <?php
20
+ $target_post = 'カスタム投稿名';
21
+ $target_post_cat = 'タクソノミー名';
22
+ $post_count = -1;
23
+ $cat_args = array(
24
+ 'parent' => 0, //トップレベルのタームのみ
25
+ 'hierarchical' => 0, //子タームを含めない
26
+ 'hide_empty' => 0 ,//全部出す
27
+ 'pad_counts' => 1
28
+ );
29
+ $cats = get_terms($target_post_cat, $cat_args);
30
+ foreach ($cats as $cat):
31
+ ?>
32
+ <?php
33
+ $target_cat_name = esc_html($cat->name);//親カテゴリ名
34
+ $target_cat_slug = esc_html($cat->slug);//親カテゴリスラッグ
35
+ ?>
36
+ <li class="dropdown cf">
37
+ <p id="<?php echo $target_cat_slug; //親カテゴリスラッグ?>"><i class="fas fa-angle-double-down"></i><?php echo $target_cat_name;//親カテゴリ名 ?></p>
38
+ <?php $child_cats = get_terms($target_post_cat, 'hierarchical=0&hide_empty=0&parent=' . $cat->term_id ); ?>
39
+ <?php if ($child_cats) : ?>
40
+ <ul class="child-ul">
41
+ <?php foreach ($child_cats as $child_cat): ?>
42
+ <?php
43
+ $child_cat_name = esc_html($child_cat->name);//子カテゴリ名
44
+ $target_cat_slug = esc_html($child_cat->slug);//子カテゴリスラッグ
45
+ ?>
46
+ <li><a href="<?php echo get_term_link( $child_cat ); ?>"><?php echo $child_cat_name; //子カテゴリ名?></a><?php echo $child_cat_name; //子カテゴリ名?></a></li>
47
+ <?php
48
+ $args = array(
49
+ 'post_type' => array($target_post),
50
+ 'taxonomy' => $target_post_cat,
51
+ 'term' => $target_cat_slug,
52
+ 'post_status' => 'publish',
53
+ 'posts_per_page' => $post_count, // 表示するページ数
54
+ 'orderby' => 'menu_order',
55
+ //'order' => 'DESC' // 並び順
56
+ );
57
+ $my_query = new WP_Query($args);
58
+ ?>
59
+ <?php wp_reset_postdata(); ?>
60
+ <?php endforeach; ?>
61
+ </ul></li>
62
+ <?php endif; ?>
63
+ <?php endforeach; ?>
64
+ ```
65
+
66
+ 上記コードの最後endforeachのあとに```<p><a href="<?php echo get_term_link( $cat ); ?>">全てをみる</a></p>
67
+ ```と書いてみましたが、最後にリスト表示されている子ターム一覧へのリンクになってしまいました。書く位置が問題ですかね?