This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.



Since WordPress does offer attaching downloads to pages, but doesn’t keep track of statistical information about these downloads, I wrote this plugin.
I should mention statistical information is a big word for just another download counter, since that is main purpose of this plugin.


  • Keeps track of the amount of downloads of a certain file.
  • Keeps track of the last download time
  • Allows you to reset the counter
  • Allows you to add counters to both internal and external urls
  • Can use fancy urls (like /downloads/
  • Can print the amount of downloads, the filesize and the last modified date in a post.

Arbitrary section

Using tags in your posts

When writing a post or a page, you may want to add the URL or the amount of downloads in your post. Using [ download(downloadname) ] (without the spaces) will be replaced with the download url, [ downloadcounter(downloadname) ] will be replaced with the amount of downloads, [ downloadsize(downloadname) ] will print the size of the download (in GB, MB, kB or B), [ downloadupdated(downloadname) ] will print the last modified date, using the WordPress setting you’ve specified for the date format. When creating a link, you could, for instance, use Download (of course, again, without the spaces within the [] brackets).

Finally, when using downloadsize of downloadupdated, you can specify one extra argument. With downloadsize, you can add ,false to prevent the usage of the GB, MB, kB or B postfixes. So, for example, using [ downloadsize(, false) ] will just display the size in bytes. With downloadupdated, you can enter a PHP date format string as extra argument. For example, [ downloadupdated(, d-m-Y) ] will display a date like 27-11-2008.

Retrieving download information from PHP

Since version 0.6 is it possible to get information about the downloads using PHP, so you can use this information directly in your templates or in you own plugins. Only one function is important at the moment:

download_information($download_name, $return_information = DOWNLOAD_URL | DOWNLOAD_AMOUNT)

This function will return an array with the requested information. You can specify what information to return by the argument $return_information. The file downloadcounter-options.php contains the correct define statements which can be used. Currently only URL, Amount, Size and Last Modified Date are available.

Using the code



array(4) { ["url"]=> string(73) "" ["amount"]=> string(4) "1878" ["size"]=> int(11006) ["lastmodified"]=> int(1228157426) }


  • Shows the download counter in action.
  • The source code of the post shown at screenshot-1. The used post tags are clearly visible in this screen.
  • Displays the configuration and a list of available downloads.
  • Displays a complete list of the downloads, including referrer, ip address, download date and the logged in user (if any).


This section describes how to install the plugin and get it working.

  1. Upload the content of the zip-file to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Navigate to the Permalink Settings and press Save Changes or disable Pretty Links in the DownloadCounter Options (under Manage->Downloads)
  4. Add you downloads to the Downloads page under the Manage menu
  5. Alter you posts to use the tags as shown in the Using tags in your posts section


There are no reviews for this plugin.

Contributors & Developers

“WP-DownloadCounter” is open source software. The following people have contributed to this plugin.


Translate “WP-DownloadCounter” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.