Esl Query Loop підтримує 3 типи запитів за замовчуванням (Записи, Терміни та Користувачі). Але його можна розширити, щоб підтримувати будь-який інший запит. Під час ітерації через результати запиту об’єкт ітерації можна змінювати за допомогою esl/query/loop_object
так:
add_filter( 'esl/query/loop_object', function( $loop_object, $loop_key, $query_obj ) {if ( $query_obj->object_type !== 'my_query_type' ) {return $loop_object;}// Виконайте певну логіку, наприклад:// global $post;// $post = get_post( $loop_object );// setup_postdata( $post );return $loop_object;}, 10, 3 );
Зворотний виклик фільтра приймає два аргументи:
$loop_object
– це значення поточної ітерації циклу (зі списку результатів)$loop_key
– це ключ поточної ітерації циклу (зі списку результатів)$query_obj
– це екземпляр об’єкта класуEslQuery
Супутні хуки:
- Щоб додати тип запиту до управління запитом, використовуйте
esl/setup/control_options
- Щоб виконати кастомний тип запиту та вивести результати, використовуйте
esl/query/run