How can I bulk upload images and automatically create posts for each one at the same time?

There is this plugin: Automatic Featured Image Posts Plugin

From the plugin page:

Automatic Featured Image Posts creates a new post with a Featured Image every time an image is uploaded. Through the plugin settings page, you can set the image to publish and assign itself to one of your other existing custom post types and/or post formats.

Basically, every image that is uploaded generates a post (of your chosen post-type) and is set as the featured image of that post.

I installed this on my local machine. The settings page looks like this and allows you to select which post type, including custom post types, you want to assign photo uploads to, and what publish status you want.

Screenshot of plugin

To put the plugin into practice – navigate to your chosen post type, open a new post and upload media.

To bulk upload photos, simply highlight multiple photos in the “upload” dialogue box. I’m highlighting 8 photos here, but I see no reason why it couldn’t be 80 or 800, unless there are limits I don’t know about in the wordpress image uploader.

enter image description here

The titles of the posts are set by the image file names. You should be able to work with that and call them in your theme with the_title()

I tested locally and it’s working in WordPress 3.6.

I’m sure there is a more robust or flexible way to accomplish this, but in this case, the plugin seems to do exactly what you’re asking, with the exception of assigning meta-data. Maybe someone else could flesh that part out a little bit.

If you needed dynamically generated post content, you could at least start with the plugin and iterate from there. One thought there would be to use post-formats or page-templates to determine how the posts are displayed.

Note: Make sure you have all your image_sizes set in functions.php. I’d hate to have to undo / delete 10,000 photos, or run an extremely long “regenerate thumbnails” just because I forgot or changed the image size!

Leave a Comment