I have used ACF checkbox fields. Now I want to filter query is this checkbox field. Then I am trying to search from the front end. But it's not showing any result. Field meta_key is cotf
.
acf fields screenshot 1
<form action="" id="" method="POST">
<input type="checkbox" name="ap_features[]" value="air_conditioning">
<input type="checkbox" name="ap_features[]" value="washer_connections">
<input type="checkbox" name="ap_features[]" value="refrigerator">
<input class="btn btn-lg btn-success" type='submit' id="" name="submit" value="SEARCH">
</form>
PHP
<?php
if(isset($_POST['submit'])){
$afeatures = $_POST['ap_features'];
$args = array(
'numberposts' => -1,
'post_type' => 'apartment',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'cotf',
'value' => array($afeatures),
'compare' => 'IN'
)
)
);
}
?>
I have also trying this code but its not working:
$meta_query = array('relation' => 'OR');
foreach ($_POST['ap_features'] as $value) {
$meta_query[] = array(
'key' => 'cotf',
'value' => '"'.$value.'"',
'compare' => 'LIKE'
)
}
$args = array(
'numberposts' => -1,
'post_type' => 'restaurant',
'meta_query' => $meta_query
);
your code should be like this.
if(isset($_POST['submit'])){
$args = array(
'numberposts' => -1,
'post_type' => 'apartment',
);
$afeatures = $_POST['ap_features'];
if(is_array($afeatures)){
$afeaturesArr = implode(",",$afeatures);
$args['meta_query']= array(
'relation'=>array('AND',
array(
'key' => 'cotf',
'value' => explode(",",$afeaturesArr),
'compare' => 'IN'
)
));
}
}