Are you looking for a way to count the JPG, GIF, and PNG images in the media library? This snippet will display a total of all JPG, GIF, and PNG images that are in the media library.
Instructions:
- Add this code to your theme’s functions.php file or in a site-specific plugin.
- Add this snippet to the location in your theme where you want to display the count total.
function img_count(){ $query_img_args = array( 'post_type' => 'attachment', 'post_mime_type' =>array( 'jpg|jpeg|jpe' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', ), 'post_status' => 'inherit', 'posts_per_page' => -1, ); $query_img = new WP_Query( $query_img_args ); echo $query_img->post_count; }
<? img_count(); ?>
Note: If this is your first time adding code snippets in WordPress, then please refer to our guide on how to properly copy / paste code snippets in WordPress, so you don’t accidentally break your site.
If you liked this code snippet, please consider checking out our other articles on the site like: How to Set Up Download Tracking in WordPress With Google Analytics and 24 best WordPress education themes.
awesome it works! I need to create a shortcode to put the count where I want it. Wouldnt line 15 be then…
add_shortcode(‘imagecount’, ‘img_count’);
and then use [imagecount] on the page?
what do i have wrong?
Shortcodes require this pattern:
function myFunction( $atts ) {
return “value”;
}
add_shortcode( ‘shortcode’, ‘myFunction’ );
So you could use the above code and add this to the functions.php file:
function imageCountShortcode( $atts ) {
return img_count();
}
add_shortcode( ‘imagecount’, ‘imageCountShortcode’ );
Please note that this has not been tested, but can be used as a reference.
The count work good but i can not show result with shortcode i added, short code inside widget but count appear above it.
The above code is not for a shortcode. If you edited to be a shortcode, you would want to check that it was created correctly: https://codex.wordpress.org/Shortcode_API
Isn’t this part of WP core? I’m using 3.3.2 and it’s already there without this snippet.