The New WordPress Download Monitor Plugin

A few months back I announced that the Download Monitor plugin was no longer being maintained. Why? Several reasons really:

  1. Dealing with daily support emails caused a massive headache
  2. Some of the code was embarrassing, and the plugin badly needed a rewrite..
  3. ..but due to legacy this would have been messy and difficult
  4. The donation model didn’t really work, and .org would’t allow ads inside the plugin to fund development

However, despite all of this, given the popularity of the plugin I decided to secretly start building a new version without the restraints of legacy code dictating the way forward…

Introducing the new beta

v4 is a complete rewrite – in fact I am still debating the idea of calling this a ‘1.0’ (which may also prevent legacy users updating without testing!). Gone are the custom tables and UI, custom post types are being utilised as well as other more modern practices, and the plugin is way more efficient.

Features & Improvements

Obviously the biggest improvement is using custom post types – we now have a faster, more lean, native WP interface for managing downloads which will be instantly recognisable to any user of WordPress.

Custom post types, woo!
Custom post types, woo!
v4 has a new template system for fancy download links
v4 has a new template system for fancy download links

The template system replaces the old ‘formats’ system making it more flexible. Rather than define the HTML for the download links in-plugin, you simple create a template file in your theme, for example, content-download-box.php. This is then called via the shortcode to give links such as the one shown to the right.


If you are adding downloads as you go, the new quick-add modal (pictured left) lets you drag and drop a file, add some details, and then insert the shortcode quickly and easily.

Download permalinks used to be done with some nasty htaccess rules. No longer – now we simply use a URL endpoint and WP handles the rest.

Logging is still built in, as well as CSV exports of logs, and I’ve added the ability to log broken links and whether or not downloading was successful or not.

What’s left to do?

Aside from testing and documenting the new core plugin, I want to build a few extensions for advanced features and things I’ve purposely left out of the rewrite:

  • A bulk directory importer function
  • The old page addon for browsing your download catalog, in its own plugin
  • A legacy importer – something to migrate old downloads to the new system

These ideas will take time, but I’m aiming to get those done, and the plugin launched within a couple of months – hopefully before WordCamp UK.

A note on sustainability

Is this plugin sustainable through donations alone? Probably not. Very few users choose to donate (those who do are awesome by the way), and any developer who’s tried this in the past must have realised that WP dot org is rife with freeloaders whom have this misguided sense of entitlement when it comes to plugins and support, using the ‘reviews’ system as leverage to get what they want.

With the new version, support will be strictly for bugs and usage rather than for customisation help.

Additionally, most likely there will be some paid extensions alongside the core plugin – the freemium model can work well if done correctly. I’m also toying with the idea of some themes to work exclusively with the Download Montitor plugin for download catalogs.

What are your thoughts on this? Would you be interested in seeing these types of addons? Leave you comments below..

Get the beta and get involved

As of today, the new version is on Github in its own branch where you can try it out, and contribute code and fixes. It’s released!

Happy coding, and I hope you all love the new version.

Discuss on Twitter

Mike Jolley is a tech hobbyist, astrophotographer, retro gamer, and software engineer who works at Automattic and contributes to open-source projects such as WordPress and WooCommerce.