Фільтр: esl/query/loop_object

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