The get_post_mime_types() WordPress PHP function retrieves the default post mime types.
Usage
$mime_types = get_post_mime_types();
Parameters
- None
More information
See WordPress Developer Resources: get_post_mime_types
Examples
Display supported mime types
This example retrieves the default post mime types and displays them in a list.
$mime_types = get_post_mime_types(); echo '<ul>'; foreach ($mime_types as $type => $label) { echo '<li><strong>' . $type . '</strong>: ' . $label . '</li>'; } echo '</ul>';
Filter posts by mime type
This example filters and displays posts with the ‘image’ mime type using WP_Query
.
$mime_types = get_post_mime_types(); $image_type = $mime_types['image']; $args = array( 'post_type' => 'attachment', 'post_mime_type' => $image_type, ); $query = new WP_Query($args); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); echo '<h3>' . get_the_title() . '</h3>'; } }
Custom mime type support
This example adds support for a custom mime type ‘video/x-mkv’ using the upload_mimes
filter.
function add_custom_mime_types($mimes) { $mimes['mkv'] = 'video/x-mkv'; return $mimes; } add_filter('upload_mimes', 'add_custom_mime_types');
Count posts with specific mime type
This example counts the number of posts with the ‘audio’ mime type.
$mime_types = get_post_mime_types(); $audio_type = $mime_types['audio']; $args = array( 'post_type' => 'attachment', 'post_mime_type' => $audio_type, ); $query = new WP_Query($args); echo 'There are ' . $query->found_posts . ' audio files.';
Display mime type for each post
This example displays the mime type for each post in the loop.
if (have_posts()) { while (have_posts()) { the_post(); echo '<h3>' . get_the_title() . '</h3>'; $mime_type = get_post_mime_type(get_the_ID()); echo 'Mime Type: ' . $mime_type; } }