質問編集履歴

1

質問内容を変更

2021/05/07 14:18

投稿

beginner_39
beginner_39

スコア77

test CHANGED
@@ -1 +1 @@
1
- カスタムフィールドのラジオボタン選択した項目ごとに出力したい
1
+ カスタムフィールドのラジオボタンを使って、選択した項目ごとにグループ表示したい
test CHANGED
@@ -1,83 +1,179 @@
1
- 前提
1
+ 先に下記内容を設定しました
2
2
 
3
- カスタム投稿作成プラグイン「CPT UI」を使ってカスタム投稿を作成
3
+ カスタム投稿作成プラグイン「CPT UI」を使ってカスタム投稿を作成
4
4
 
5
- 作成したカスタム投稿にカスタムフィールドを設定
5
+ 作成したカスタム投稿にカスタムフィールドを設定
6
+
7
+ カスタムフィールドの設定項目は、
8
+
9
+ ⑴ラジオボタンで地域を設定【A県、B県、C県】
10
+
11
+ ⑵1に紐づくイメージ画像の登録の設定
12
+
13
+ ⑶画像に関連するテキストエリアを設定
6
14
 
7
15
 
8
16
 
9
- ###カスタムフィールドの内容
10
17
 
11
- カテゴリー名:フィールドはラジオボタン
12
-
13
- イメージ画像:フィールドはimage
14
-
15
- 文言詳細:フィールドはテキストエリア
16
-
17
- の上記3つ
18
18
 
19
19
 
20
20
 
21
21
  ###やりたいこと
22
22
 
23
- カスタムフィールドで選択した(ラジオボタン)項目ごとに下記の様な出力をしたいです。
23
+ 選択したごとに下記の様な出力をしたいです。
24
24
 
25
25
 
26
26
 
27
- 見出しカテゴリー名A
27
+ A県(湖が綺麗な県です)
28
28
 
29
-  コンンツ内容1 コンテンツ内容2 コンテンツ内容3
29
+  ・イメージ画像andキストエリア
30
30
 
31
-  コンンツ内容4 コンテンツ内容5 コンテンツ内容6
31
+  ・イメージ画像andキストエリア
32
+
33
+  ・イメージ画像andテキストエリア
32
34
 
33
35
 
34
36
 
35
- 見出しカテゴリー名B
36
37
 
37
-  コンテンツ内容1 コンテンツ内容2 コンテンツ内容3
38
38
 
39
+ B県(緑あふれる県です)
40
+
39
-  コンンツ内容4 コンテンツ内容5 コンテンツ内容6
41
+  ・イメージ画像andキストエリア
42
+
43
+  ・イメージ画像andテキストエリア
44
+
45
+  ・イメージ画像andテキストエリア
40
46
 
41
47
 
42
48
 
43
- 見出しカゴリー名C
49
+ C県(テーマパークが有な県です)
44
50
 
45
-  コンンツ内容1 コンテンツ内容2 コンテンツ内容3
51
+  ・イメージ画像andキストエリア
46
52
 
47
-  コンンツ内容4 コンテンツ内容5 コンテンツ内容6
53
+  ・イメージ画像andキストエリア
54
+
55
+  ・イメージ画像andテキストエリア
56
+
57
+
48
58
 
49
59
 
50
60
 
51
61
  ###疑問点
52
62
 
53
- やりたいこと実現させるにはwhile文でやるべきなのか、それともforeach文でやるべきなのかどちらを使用したらいいのでしょうか?
63
+ やりたいこと実現させるにはwhile文でやるべきなのか、それともforeach文でやるべきなのかどちらを使用したらいいのでしょうか?
54
64
 
55
65
 
56
66
 
57
- イメジとては
67
+ 自分で試しに下記コドを書いて見またが、できませんでした。
58
68
 
59
69
  ```php
60
70
 
61
- <?php while文 ?>
71
+ <?php
62
72
 
63
- <div>
73
+ $args = Array(
64
74
 
65
- <p><?php fieldラジオボタンのラベル名 ?></p>
75
+ 'post_type' => 'area',
66
76
 
67
- <p><?php field imageを出力 ?></p>
77
+ 'posts_per_page' => -1,
68
78
 
69
- <p><?php field テキストエリアを出力 ?></p>
79
+ 'orderby' => 'menu_order',
70
80
 
71
- </div>
81
+ 'order' => 'ASC',
72
82
 
83
+ );
84
+
85
+
86
+
87
+ $list_query = new WP_Query($args);
88
+
89
+ if(!empty($list_query)):
90
+
91
+ foreach ( $list_query as $post ) : setup_postdata( $post );
92
+
93
+ $area = get_field('area');
94
+
95
+ $image = get_field('image');
96
+
97
+ $info = get_field('info');
98
+
99
+
100
+
101
+ switch ($area){
102
+
103
+ case 'A県':
104
+
105
+ $subinfo = "湖が綺麗な県です";
106
+
107
+ break;
108
+
109
+ case 'B県':
110
+
111
+ $subinfo = "緑あふれる県です";
112
+
113
+ break;
114
+
115
+ case 'C県':
116
+
117
+ $subinfo = "テーマパークが有名な県です";
118
+
119
+ break;
120
+
121
+ }
122
+
123
+
124
+
125
+ echo '<div style="margin-bottom:50px;padding-bottom:50px;border-bottom:solid 1px blue;">';
126
+
127
+ echo '<p>'.$area.'</p><span>'.$subinfo.'</span>'';
128
+
129
+
130
+
131
+ if($list_query -> have_posts()):
132
+
133
+ while($list_query -> have_posts()): $list_query -> the_post();
134
+
135
+ echo '<div>';
136
+
137
+ echo '<p>'.$image.'</p>';
138
+
139
+ echo '<p>'.$info.'</p>';
140
+
141
+ echo '</div>';
142
+
73
- <?php endwhile ?>
143
+ endwhile;
144
+
145
+ else:
146
+
147
+ echo '<p>登録情報がありません</p>';
148
+
149
+ endif;
150
+
151
+
152
+
153
+ echo '</div>';
154
+
155
+ endforeach;wp_reset_postdata();
156
+
157
+ endif;
158
+
159
+ ?>
74
160
 
75
161
  ```
76
162
 
163
+
164
+
165
+ イメージとしては、
166
+
167
+ ⒈最初に県ごとのループを作成する
168
+
169
+ ⒉該当する県の中で登録情報をループ出力する
170
+
77
- なのかな考えおりますが、く挙動してくれません。
171
+ 思っいるのですが、実現できません。
172
+
173
+
78
174
 
79
175
  不備なところがあれば教えていただきたいです。
80
176
 
81
- googleで調べても、理解できている人目線で記事しかなくて、理解に苦しんでおります。
177
+ googleで調べても、やり方掲載がなく苦しんでおります。
82
178
 
83
179
  よろしくお願いいたします。