回答編集履歴

1 追記

YukiYamashina

YukiYamashina score 825

2019/06/14 16:38  投稿

Advanced Custom Field でフィールドタイプがチェックボックスの場合、カスタムフィールドの値はデータベースに配列として保存されますので、`'compare' => 'LIKE'` を追加してください。  
 
```php  
<?php  
 
//meta_query用  
if($kodawari){  
 foreach($kodawari as $val){  
   $metaquerysp[] = array(  
     'key'=>'kodawari',  
     'value'=> $val,  
     'compare' => 'LIKE',  
   );  
 }  
}  
```  
 
 
修正前の回答  
---  
 
ソースコード自体には常に該当なしと表示されてしまう原因となるような箇所が見当たりませんので、カスタムフィールドの設定ができていない可能性があります。[Advanced Custom Field](https://ja.wordpress.org/plugins/advanced-custom-fields/) などの別のプラグインでカスタムフィールドを設定されてみてはいかがでしょうか?
また、検索結果が表示されない問題とは関係ありませんが、
```php
<?php
// $kodawari = $_GET['kodawari']; // こうではなく
$kodawari = isset( $_GET['kodawari'] ) ? $_GET['kodawari'] : []; // こう
```
の方が良いです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る