Почему не срабатывает свойство 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 ). '%'
...
→ Ссылка