Esl покращив продуктивність запитів у версії 1.9.1. Тепер кожен унікальний запит виконується лише один раз за завантаження сторінки, і відповідно, результати запиту повторно використовуються на тій же сторінці. Як наслідок, певні фільтри PHP, пов’язані з запитами, більше не будуть викликатися кілька разів.
Наступні фільтри можуть бути під впливом:
esl/posts/merge_query
esl/posts/query_vars
esl/terms/query_vars
esl/users/query_vars
esl/query/run
esl/query/result
esl/query/result_count
esl/query/result_max_num_pages
Проте, розробники можуть використовувати цей фільтр для вимкнення цього налаштування для певних запитів за специфічних обставин.
// Повертає булеве значення (за замовчуванням: false)add_filter( 'esl/query/force_run', function( $force_run, $query ) {// Отримати ID елемента$element_id = $query::get_query_element_id();// Отримати налаштування елемента$settings = $query->settings;if ( isset( $settings['usingFacetWP'] ) ) {$force_run = true;}return $force_run;}, 10, 2 );
Починаючи з 1.9.2, ви можете визначити $query_vars['esl_force_run'] = true
, щоб досягти того ж результату. Це буде зручно, якщо ви використовуєте Esl Query Editor або PHP фільтри, такі як esl/posts/query_vars
тощо.