The ajax_query_attachments_args WordPress filter allows you to modify the arguments passed to WP_Query during an Ajax call for querying attachments.
Usage
add_filter('ajax_query_attachments_args', 'my_custom_ajax_query_attachments_args', 10, 1);
function my_custom_ajax_query_attachments_args($query) {
// your custom code here
return $query;
}
Parameters
$query(array): An array of query variables that can be modified before passing to WP_Query.
More information
See WordPress Developer Resources: ajax_query_attachments_args
Examples
Exclude attachments with specific mime types
This example filters the query to exclude attachments with specific mime types.
add_filter('ajax_query_attachments_args', 'exclude_specific_mime_types', 10, 1);
function exclude_specific_mime_types($query) {
$query['post_mime_type__not_in'] = array('image/png', 'image/jpeg');
return $query;
}
Display only attachments uploaded by the current user
This example filters the query to show only attachments uploaded by the current user.
add_filter('ajax_query_attachments_args', 'display_current_user_attachments', 10, 1);
function display_current_user_attachments($query) {
$current_user_id = get_current_user_id();
$query['author'] = $current_user_id;
return $query;
}
Limit attachment query results
This example limits the number of attachment results returned by the query.
add_filter('ajax_query_attachments_args', 'limit_attachment_query_results', 10, 1);
function limit_attachment_query_results($query) {
$query['posts_per_page'] = 10;
return $query;
}
Sort attachments by title in ascending order
This example sorts attachments by title in ascending order.
add_filter('ajax_query_attachments_args', 'sort_attachments_by_title', 10, 1);
function sort_attachments_by_title($query) {
$query['orderby'] = 'title';
$query['order'] = 'ASC';
return $query;
}
Filter attachments by a custom meta key and value
This example filters attachments based on a custom meta key and value.
add_filter('ajax_query_attachments_args', 'filter_attachments_by_custom_meta', 10, 1);
function filter_attachments_by_custom_meta($query) {
$query['meta_key'] = 'my_custom_meta_key';
$query['meta_value'] = 'my_custom_value';
return $query;
}