Почему не срабатывает свойство search в get_terms?
function live_search() {
$term = $_POST['termId'];
$serch_string = $_POST['search-string'];
$count = 50;
var_dump($serch_string);
$cities = get_terms( array(
'taxonomy' => array( 'geo_countries'), // название таксономии с WP 4.5
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => true,
'object_ids' => null,
'include' => array(),
'exclude' => array(),
'exclude_tree' => array(),
'number' => '',
'fields' => 'all',
'count' => false,
'parent' => $term,
'hierarchical' => true,
'search' => $serch_string,
) );
var_dump($cities);
for($i; $i <= $count; $i++) {
if($i >= count($cities)) {
break;
} ?>
<li data-count="<?php echo count($cities); ?>">
<input type="radio" name="d-city" id="<?php echo $cities[$i]->slug ?>" data-value="<?php echo $cities[$i]->term_id?>">
<label for="<?php echo $cities[$i]->slug ?>"><?php echo $cities[$i]->name ?></label>
<img src="<?php echo get_template_directory_uri(); ?>/images/checked.svg" alt="#">
</li>
<?php };
die();
}
add_action('wp_ajax_nopriv_live_search','live_search');
add_action('wp_ajax_live_search','live_search');
Данные приходят верно, но на выходе массив $cities пустой.
Ответы (1 шт):
Автор решения: WP Punk
→ Ссылка
Для search нужно добавить % вначале и в конце строки. Подробнее прочитайте, как работает LIKE в SQL.
...
search => '%' . sanitize_text_field( $search_string ). '%'
...