ajax_query_attachments_argsхук-фильтрWP 3.7.0

Позволяет изменить параметры, переданные в 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.

Примеры

0

#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 Введена.

Где вызывается хук

wp_ajax_query_attachments()
ajax_query_attachments_args
wp-admin/includes/ajax-actions.php 3068
$query             = apply_filters( 'ajax_query_attachments_args', $query );

Где используется хук в WordPress

Использование не найдено.