ajax_query_attachments_args
Позволяет изменить параметры, переданные в WP_Query при ajax запросе медиафайлов (вложений).
Использование
add_filter( 'ajax_query_attachments_args', 'wp_kama_ajax_query_attachments_args_filter' );
/**
* Function for `ajax_query_attachments_args` filter-hook.
*
* @param array $query An array of query variables.
*
* @return array
*/
function wp_kama_ajax_query_attachments_args_filter( $query ){
// filter...
return $query;
}
- $query(массив)
- Массив параметров для WP_Query.
Примеры
#1 Корректное отображение галереи в Carbon Fields в админке
В Carbon Fields v3.1.2 была проблема - загружаешь 20 фото, они отображаются в полной мере, но обновляешь страницу и в поле отображается только то количество, что указано в опции posts_per_page. Проблема в том, что поле хранит все ID указанных фото, но в админке при ajax запросе WP_Query() возвращало лимитированное кол-во, то есть не все фото, что указаны в параметре post__in. Задача: определить параметр posts_per_page на основе количества ID, переданных в post__in:
add_filter( 'ajax_query_attachments_args', function ( $query ) {
if ( isset( $query['post__in'] ) && is_array( $query['post__in'] ) ) {
$query['posts_per_page'] = count( $query['post__in'] );
}
return $query;
} );
Список изменений
| С версии 3.7.0 | Введена. |
Где вызывается хук
ajax_query_attachments_args
wp-admin/includes/ajax-actions.php 3080
$query = apply_filters( 'ajax_query_attachments_args', $query );