質問編集履歴

2

微修正と境界線を明確にしました。

2018/05/07 07:09

投稿

Kohei1122
Kohei1122

スコア6

test CHANGED
File without changes
test CHANGED
@@ -24,6 +24,10 @@
24
24
 
25
25
 
26
26
 
27
+ 検索フォーム
28
+
29
+
30
+
27
31
  '<form method="get" id="searchform" action="<?php echo home_url('/'); ?>">
28
32
 
29
33
  <input type="text" placeholder="<?php echo get_theme_text_search_placeholder();//検索ボックスのプレースホルダテキストを取得 ?>" name="s" id="s">
@@ -56,9 +60,9 @@
56
60
 
57
61
  <option value="" selected>クーポン使用(カスタムフィールドのセレクトボックス)</option>
58
62
 
59
- <option value="アパート">可能</option>
63
+ <option value="可能">可能</option>
60
-
64
+
61
- <option value="マンション">不可</option>
65
+ <option value="不可">不可</option>
62
66
 
63
67
  </select>
64
68
 
@@ -142,6 +146,14 @@
142
146
 
143
147
 
144
148
 
149
+
150
+
151
+ ーーーーーーーーー
152
+
153
+ ここから検索結果
154
+
155
+
156
+
145
157
  '<?php //検索結果?>
146
158
 
147
159
  <?php get_header(); ?>

1

検索フォームと検索結果のコードの記載。

2018/05/07 07:09

投稿

Kohei1122
Kohei1122

スコア6

test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,389 @@
21
21
 
22
22
 
23
23
  ![イメージ説明](4f203b7e5ca2f3c1989cc9eaac4e2f4e.png)
24
+
25
+
26
+
27
+ '<form method="get" id="searchform" action="<?php echo home_url('/'); ?>">
28
+
29
+ <input type="text" placeholder="<?php echo get_theme_text_search_placeholder();//検索ボックスのプレースホルダテキストを取得 ?>" name="s" id="s">
30
+
31
+ <input type="submit" id="searchsubmit" value="">
32
+
33
+
34
+
35
+ <select name="catnum" style="margin-top:20px;">
36
+
37
+ <option value="" selected>カテゴリ</option>
38
+
39
+ <?php
40
+
41
+ $categories = get_categories('parent=0');
42
+
43
+ foreach($categories as $category) :
44
+
45
+ ?>
46
+
47
+ <option value="<?php echo $category->term_id; ?>"><?php echo $category->cat_name; ?></option>
48
+
49
+ <?php endforeach; ?>
50
+
51
+ </select>
52
+
53
+
54
+
55
+ <select name="type" style="margin-top:20px;">
56
+
57
+ <option value="" selected>クーポン使用(カスタムフィールドのセレクトボックス)</option>
58
+
59
+ <option value="アパート">可能</option>
60
+
61
+ <option value="マンション">不可</option>
62
+
63
+ </select>
64
+
65
+
66
+
67
+ <div style="margin-top:20px">値段(カスタムフィールドのテキストフィールド)</div>
68
+
69
+ <select name="low" style="margin-top:5x;">
70
+
71
+ <option value="0" selected>下限なし</option>
72
+
73
+ <option value="500">500円以上</option>
74
+
75
+ <option value="1000">1,000円以上</option>
76
+
77
+ <option value="1500">1,500円以上</option>
78
+
79
+ </select> ~
80
+
81
+ <select name="high" style="margin-top:5px;">
82
+
83
+ <option value="500">500円以下</option>
84
+
85
+ <option value="1000">1,000円以下</option>
86
+
87
+ <option value="1500">1,500円以下</option>
88
+
89
+ <option value="9999999" selected>上限なし</option>
90
+
91
+
92
+
93
+ </select>
94
+
95
+
96
+
97
+ <div style="margin-top:20px">使用した果物(タグ)</div>
98
+
99
+ <?php
100
+
101
+ $taxonomy_name = 'post_tag';
102
+
103
+ $taxonomys = get_terms($taxonomy_name);
104
+
105
+ if(!is_wp_error($taxonomys) && count($taxonomys)):
106
+
107
+ foreach($taxonomys as $taxonomy):
108
+
109
+ $tax_posts = get_posts(array('post_type' => get_post_type(), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) );
110
+
111
+ if($tax_posts):
112
+
113
+ ?>
114
+
115
+ <label><input type="checkbox" name="post_tag[]" value="<?php echo $taxonomy->slug; ?>"><?php echo $taxonomy->name; ?></label><br>
116
+
117
+ <?php
118
+
119
+ endif;
120
+
121
+ endforeach;
122
+
123
+ endif;
124
+
125
+ ?>
126
+
127
+
128
+
129
+ <div>送料</div>
130
+
131
+ <label><input type="checkbox" name="kodawari[]" value="無料">無料</label><br>
132
+
133
+ <label><input type="checkbox" name="kodawari[]" value="有料">有料</label><br>
134
+
135
+
136
+
137
+ <input type="submit" class="submit" name="submit" id="searchsubmit" value="検索" />
138
+
139
+ </form>'
140
+
141
+
142
+
143
+
144
+
145
+ '<?php //検索結果?>
146
+
147
+ <?php get_header(); ?>
148
+
149
+
150
+
151
+ <?php
152
+
153
+ $s = $_GET['s'];
154
+
155
+ $catnum = $_GET['catnum'];
156
+
157
+ $placenum = $_GET['placenum'];
158
+
159
+ $type = $_GET['type'];
160
+
161
+ $low = $_GET['low'];
162
+
163
+ $high = $_GET['high'];
164
+
165
+ $post_tag = $_GET['post_tag'];
166
+
167
+ $kodawari = $_GET['kodawari'];
168
+
169
+
170
+
171
+ if($catnum){
172
+
173
+ $taxquerysp[] = array(
174
+
175
+ 'taxonomy'=>'category',
176
+
177
+ 'terms'=> $catnum,
178
+
179
+ 'include_children'=>false,
180
+
181
+ 'field'=>'term_id',
182
+
183
+ 'operator'=>'AND'
184
+
185
+ );
186
+
187
+ }
188
+
189
+
190
+
191
+ if($post_tag){
192
+
193
+ $taxquerysp[] = array(
194
+
195
+ 'taxonomy'=>'post_tag',
196
+
197
+ 'terms'=> $post_tag,
198
+
199
+ 'include_children'=>false,
200
+
201
+ 'field'=>'slug',
202
+
203
+ 'operator'=>'AND'
204
+
205
+ );
206
+
207
+ }
208
+
209
+
210
+
211
+ if($placenum){
212
+
213
+ $taxquerysp[] = array(
214
+
215
+ 'taxonomy'=>'place',
216
+
217
+ 'terms'=> $placenum,
218
+
219
+ 'include_children'=>false,
220
+
221
+ 'field'=>'slug',
222
+
223
+ 'operator'=>'AND'
224
+
225
+ );
226
+
227
+ }
228
+
229
+ $taxquerysp['relation'] = 'AND';
230
+
231
+
232
+
233
+ if($kodawari){
234
+
235
+ foreach($kodawari as $val){
236
+
237
+ $metaquerysp[] = array(
238
+
239
+ 'key'=>'kodawari',
240
+
241
+ 'value'=> $val,
242
+
243
+ );
244
+
245
+ }
246
+
247
+ }
248
+
249
+ if($type){
250
+
251
+ $metaquerysp[] = array(
252
+
253
+ 'key'=>'type',
254
+
255
+ 'value'=> $type,
256
+
257
+ 'compare'=>'=',
258
+
259
+ );
260
+
261
+ }
262
+
263
+ $metaquerysp[] = array(
264
+
265
+ 'key'=>'price',
266
+
267
+ 'value'=>array( $low, $high ),
268
+
269
+ 'compare'=>'BETWEEN',
270
+
271
+ 'type'=>'NUMERIC',
272
+
273
+ );
274
+
275
+ $metaquerysp['relation'] = 'AND';
276
+
277
+
278
+
279
+ ?>
280
+
281
+
282
+
283
+ <?php if($s){ ?>検索キーワード:<?php echo $s; ?><br><?php } ?>
284
+
285
+ <?php if($catnum){ ?>カテゴリ:<?php echo get_cat_name($catnum); ?><br><?php } ?>
286
+
287
+ <?php if($placenum){ ?>間取りタイプ:<?php echo get_term_by('slug',$placenum,"place")->name; ?><br><?php } ?>
288
+
289
+ <?php if($type){ ?>ルームタイプ:<?php echo $type; ?><br><?php } ?>
290
+
291
+ <?php if($low == 0 && $high == 9999999){}else{ ?>家賃:<?php if($low == 0){ ?>下限なし<?php }else{ echo number_format($low).'円'; } ?> ~ <?php if($high == 9999999){ ?>上限なし<?php }else{ echo number_format($high).'円';} ?><br>
292
+
293
+ <br><?php } ?>
294
+
295
+ <?php
296
+
297
+ if (is_array($cutnum)) { ?>カテゴリ:<?php
298
+
299
+ foreach($cutnum as $val){
300
+
301
+ if ($val === end($cutnum)) {
302
+
303
+ echo get_cat_name($catnum);
304
+
305
+ }else{
306
+
307
+ echo get_cat_name($catnum).", ";
308
+
309
+ }
310
+
311
+ }
312
+
313
+ }
314
+
315
+ ?>
316
+
317
+ <?php
318
+
319
+ if (is_array($post_tag)) { ?>こだわり(タグ):<?php
320
+
321
+ foreach($post_tag as $val){
322
+
323
+ if ($val === end($post_tag)) {
324
+
325
+ echo get_term_by('slug',$val,"post_tag")->name;
326
+
327
+ }else{
328
+
329
+ echo get_term_by('slug',$val,"post_tag")->name.", ";
330
+
331
+ }
332
+
333
+ }
334
+
335
+ ?><br><br><?php } ?>
336
+
337
+ <?php if (is_array($kodawari)) { ?>こだわり(カスタムフィールドのチェックボックス):<?php
338
+
339
+ if (is_array($kodawari)) {
340
+
341
+ foreach($kodawari as $val){
342
+
343
+ if ($val === end($kodawari)) {
344
+
345
+ echo $val;
346
+
347
+ }else{
348
+
349
+ echo $val.", ";
350
+
351
+ }
352
+
353
+ }
354
+
355
+ }
356
+
357
+ }
358
+
359
+ ?>
360
+
361
+
362
+
363
+ <?php
364
+
365
+
366
+
367
+ query_posts( array(
368
+
369
+ 'tax_query' => $taxquerysp,
370
+
371
+ 'meta_query' => $metaquerysp,
372
+
373
+ 's' => $s,
374
+
375
+ )
376
+
377
+ );
378
+
379
+
380
+
381
+ ?>
382
+
383
+
384
+
385
+ <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
386
+
387
+ <div><?php the_title(); ?></div>
388
+
389
+ <div><?php the_content(); ?></div>
390
+
391
+ <?php endwhile; else : ?>
392
+
393
+
394
+
395
+ 該当なし
396
+
397
+
398
+
399
+ <?php endif;wp_reset_query(); ?>
400
+
401
+
402
+
403
+
404
+
405
+ <?php get_template_part('list') ?>
406
+
407
+
408
+
409
+ <?php get_footer(); ?>'