WordPressのカスタムフィールドでの4つ以上の条件での検索が正しく行われず困っています。
先日もこちらでアドバイスを頂きまして
PHP
1 array( 2 'key' => 'Wall', 3 'value' => $_GET["WallMin"], 4 'compare' => '>=', 5 ), 6 array( 7 'key' => 'Wall', 8 'value' => $_GET["WallMax"], 9 'compare' => '<=', 10 ),
や
PHP
1 array( 2 'key' => 'Wall', 3 'value' => $_GET["WallMin"], 4 'compare' => '>=', 5 ), 6 array( 7 'key' => 'Wall', 8 'value' => $_GET["WallMax"], 9 'compare' => '<=', 10 ), 11 12 array( 13 'key' => 'BT', 14 'value' => $_GET["BTMin"], 15 'compare' => '>=', 16 ),
のように3つまでの条件の検索は出来るようになったのですが
PHP
1<?php 2 $args = array( 3 'meta_query' => array( 4 'relation' => 'AND', 5 array( 6 'key' => 'Wall', 7 'value' => $_GET["WallMin"], 8 'compare' => '>=', 9 ), 10 array( 11 'key' => 'Wall', 12 'value' => $_GET["WallMax"], 13 'compare' => '<=', 14 ), 15 16 array( 17 'key' => 'BT', 18 'value' => $_GET["BTMin"], 19 'compare' => '>=', 20 ), 21 array( 22 'key' => 'BT', 23 'value' => $_GET["BTMax"], 24 'compare' => '<=', 25 ), 26 array( 27 'key' => 'KT', 28 'value' => $_GET["KTMin"], 29 'compare' => '>=', 30 ), 31 array( 32 'key' => 'KT', 33 'value' => $_GET["KTMax"], 34 'compare' => '<=', 35 ), 36 37 ), 38); 39 40$my_query = new WP_Query($args); 41if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); 42?> 43 44<?php the_title(); ?><?php the_post_thumbnail(); ?><?php the_excerpt(); ?> 45 46<?php endwhile; endif; wp_reset_postdata(); ?>
の様に4つ以上の条件で検索しようとすると条件に合致していても見つかりません。
しかし、なぜか各keyのvalueを実在する投稿のものに近づけると見つかります。
具体的にどれくらい近づけたら見つかるのか試したのですが条件が多すぎてよくわかりませんでした。
他にもvalueの$_GET["〇〇〇"]を変数ではなく数字として指定(実在する投稿のものから30ほど離れたもの)で試してみたのですがそれも条件には合っているものの検索として見つかりませんでした。
困っている点があいまいで申し訳ありませんが改善点、試すべき点、ご教示お願いいたします。
回答1件
あなたの回答
tips
プレビュー