Continuing with my previous goal, I want to pitch another feature-as-plugin idea before writing any code. This time, the ability to upload media from anywhere.
Current Workflows
There are quite a few ways you can upload to WordPress. You can add media when editing content. You can visit the Media Gallery directly and upload from there. You can upload from the Plugins section. You can upload from the Themes section. You can upload from the WordPress Importer. A few plugins allow you to upload from their settings pages.
But they all work a bit differently.
Sometimes that “differently” is a huge annoyance.
Proposed Alternative
My proposal is to enable editors to drag-and-drop potential uploads anywhere within WordPress. These uploads would then go to the Media Gallery automatically. An indicator would then appear in the toolbar (or on the Media menu item) alerting the editor they have new uploads to work with.
It’s a small change, but has some big ramifications.
First, editors would be able to upload in bulk from any administrative page within WordPress. The post editor. The dashboard. A plugin settings page. The theme settings page. Anywhere.
Second, exposing hooks would allow plugin authors (or core contributors) to react to new media being available. Rather than needing to build an uploader or enqueue an existing upload script, plugin devs could just listen for an [cci]uploaded[/cci] event and modify the UI in response. Think: no more inconsistency in upload experience within WordPress plugins!
Finally, core could enable installing plugins from the media gallery. No more navigating from Dashboard to Plugins to Install New to Upload to get a new plugin into WordPress. Merely drag-and-drop the plugin on the Plugins page, wait for WordPress to do its magic and alert you a new plugin is available[ref]The Plugins page could listen for an [cci]uploaded[/cci] event, check the MIME type of the upload to see if it’s a ZIP, and attempt to install the plugin silently in the background. If the upload was a plugin, then WordPress could alert the user that the new plugin is installed and ready for activation, all from the same page![/ref], then click a link to activate the plugin.
All of the above would streamline the workflow of getting uploaded content – images, documents, plugins, etc – from your hard disk and into WordPress.
Would You Use It?
I admit, this feature would be more power-user functionality in WordPress than anything else. If you’re only using WordPress to write, then the existing “Insert Media” button is likely all you’ll ever need.
If, however, you’re using a plugin to add non-post content to WordPress. If you’re trying to add multiple plugins to WordPress using ZIP archives. If you’re trying to import multiple, separated WXR files to a new WordPress install.
If you’re trying to use a WordPress that smooths out the process of adding media to your site, then this workflow would help. I know it would help me. Would it help you?