The get_attached_media_args WordPress PHP filter allows you to modify the arguments used to retrieve media attached to a specific post.
Usage
add_filter('get_attached_media_args', 'your_function_name', 10, 3); function your_function_name($args, $type, $post) { // your custom code here return $args; }
Parameters
$args
(array) – Post query arguments.$type
(string) – Mime type of the desired media.$post
(WP_Post) – Post object.
More information
See WordPress Developer Resources: get_attached_media_args
Examples
Modifying media order
Change the order of attached media to display them in ascending order by date.
add_filter('get_attached_media_args', 'change_media_order', 10, 3); function change_media_order($args, $type, $post) { $args['orderby'] = 'date'; $args['order'] = 'ASC'; return $args; }
Display only images
Retrieve only image attachments for a post.
add_filter('get_attached_media_args', 'only_images', 10, 3); function only_images($args, $type, $post) { $args['post_mime_type'] = 'image'; return $args; }
Limit media count
Limit the number of media items displayed to 5.
add_filter('get_attached_media_args', 'limit_media_count', 10, 3); function limit_media_count($args, $type, $post) { $args['posts_per_page'] = 5; return $args; }
Exclude specific media IDs
Exclude specific media IDs (e.g., 10, 20, 30) from the attached media.
add_filter('get_attached_media_args', 'exclude_specific_media', 10, 3); function exclude_specific_media($args, $type, $post) { $args['post__not_in'] = array(10, 20, 30); return $args; }
Filter media by custom field
Display media items that have a specific custom field (e.g., ‘featured_image’).
add_filter('get_attached_media_args', 'filter_media_by_custom_field', 10, 3); function filter_media_by_custom_field($args, $type, $post) { $args['meta_key'] = 'featured_image'; return $args; }