AJAX фильтр записей по произвольным полям WordPress
На основе известного кода сделал AJAX фильтр записей по таксономиям, всё работает. Добавил в фильтр два селекта для выбора по произвольным полям ACF, подскажите как правильно прописать для них условия в функцию. Это код из формы на странице шаблона:
<?php
if( $terms = get_terms( array( 'taxonomy' => 'condition', 'orderby' => 'name' ) ) ) :
echo '<select name="categoryfilter"><option value="">Select category...</option>';
foreach ( $terms as $term ) :
echo '<option value="' . $term->term_id . '">' . $term->name . '</option>'; // ID of the category as the value of an option
endforeach;
echo '</select>';
endif;
?>
<select name="required_fuel">
<option value="">Required Fuel</option>
<option value="Ethanol">Ethanol</option>
<option value="Gasolin">Gasolin</option>
</select>
<select name="block_material">
<option value="">Block material</option>
<option value="Aluminum">Aluminum</option>
<option value="Cast iron">Cast iron</option>
</select>
<button class="btn-send-filter">Apply filter</button>
<input type="hidden" name="action" value="myfilter">
Это код из функции в functions.php:
function my_filter_function(){
if( isset( $_POST['categoryfilter'] ) )
$args['tax_query'] = array(
array(
'taxonomy' => 'condition',
'field' => 'term_id',
'terms' => $_POST['categoryfilter']
)
);
// Для ACF
if( isset( $_POST['required_fuel'] ) )
$args['meta_query'][] = array(
'key' => 'required_fuel',
'value' => $_POST['required_fuel'],
'compare' => 'LIKE',
);
if( isset( $_POST['block_material'] ) )
$args['meta_query'][] = array(
'key' => 'block_material',
'value' => $_POST['block_material'],
'compare' => 'LIKE',
);
$query = new WP_Query( $args );
В текущем виде при выборе чего либо в селектах для произвольных полей постов не находит. Перепробовал разные варианты условий, а также менял параметр compare, ничего не получается.