@EvgenyMorozov

Как отключить живой поиск в библиотеке медиафайлов?

Столкнулся с проблемой тормозов при живом поиске в библиотеке медиафайлов. Файлов больше 10000. Когда вводишь по буковке -- совершается отдельный запрос к БД. MySQL ругается в slow log на медленные запросы.
Возможно ли как-то отключить живой поиск или настроить его, чтобы он срабатывал хотя бы после 5 букв.
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
HectorPrima
@HectorPrima
программист
Пользуйтесь на здоровье!
add_filter( 'ajax_query_attachments_args', 'restrict_media_search_function', 10, 1 );
function restrict_media_search_function( $query )
{
    // если  при поиске ввели менее  5 символов  вставляем невозможное  слово
    // для поиска что бы возвращался пустой запрос и не подгружались картинки
    if (array_key_exists('s', $query) && strlen($query['s']) < 5)
        $query['s'] = "bad@word@for@search"; 
    return $query;
}


Второй вариант:
add_filter( 'admin_init', 'restrict_media_search_function' );
function restrict_media_search_function ( ) 
{
    $action = !empty( $_GET['action'] )  ? $_GET['action'] : '';
    $action = !empty( $_POST['action'] )  ? $_POST['action'] : '';
    if ( $action === 'query-attachments' )
    {
        $query = isset( $_REQUEST['query'] ) ? (array) $_REQUEST['query'] : array();
        if (array_key_exists('s', $query) && strlen($query['s']) < 5)
            die( '1' );
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы