WP-DownloadManager - WordPress Plugin Review
I’ve been accumulating files that I’ve been making available for download from my site. Initially I simply created a page and added a link each time I added a file, but this became rather cumbersome very quickly. Add to that it was difficult to add a reference to the download in all the places I wanted it and my pain threshold was reached.
WP_DownloadManager, another fine plugin from Lester ‘GaMerZ’ Chan, provides a convenient way to manage downloads from a WordPress site.
Overall Grade: A
Plugin Name: WP-DownloadManager Plugin URI: http://lesterchan.net/wordpress/readme/wp-downloadmanager.html WordPress Plugin URI: http://wordpress.org/extend/plugins/wp-downloadmanager/ Version: 1.00 Description: Adds a simple download manager to your WordPress blog. Author: Lester ‘GaMerZ’ Chan Author URI: http://lesterchan.net/ Forum: http://forums.lesterchan.net/index.php?board=12.0
Installation
As with many of Lester Chan’s plugins, in addition to copying the plugin to the downloadmanager folder and activating it, you also need to regenerate permalinks.
Configuration
The WP-DownloadManager plugin manages downloads - i.e. files that can be downloaded from your site - so the first thing to do is to upload some files to your site. The plugin provides fairly comprehensive admin UI for managing downloads from within the WordPress dashboard. It adds a Downloads entry to the top-level menu. The plugin adds a submenu with 5 entries:
- Manage Downloads. This page displays a summary of all your downloads, including the file name, size, # of hits, permission, download category, time and date it was added, and a couple action links. It also provides overall statistics for all files.
- Add File. This is the page where you can add a file to the download list, including uploading the file. The options presented here provide a lot of flexibility for how the download will be presented to the user.
- You can specify a file that has already been uploaded to the server. The location can be specified on the Download Options page.
- You can upload a file to the server.
- You can refer to a file at a specific URL.
- You can specify the name of the file as it will be displayed on your site. This name is not the same as how it is stored on the server.
- You can specify a description which will be displayed on a Downloads page (more about that later).
- You can specify a category for the download. Categories are managed on the Download Options page.
- You can specify the number of hits - aka download requests - for the file. This is useful when moving your blog contents or moving a download.
- You can specify the date/time of the file. By default the current date and time are used.
- You can specify who is allowed to download the file - everyone or just registered users.
- Download Options. This page allows you to configure where files are uploaded to and how they are presented.
- Download Path - Where on the server files are uploaded to. The drop-down list of files on the Add File page looks in this location to populate the list.
- Download Path URL - The URL on your site that points to the download path.
- Download Page URL - The URL to a page you’ve written that displays the list of downloads. I’m not actually certain how this is used by the plugin.
- Download Method - Choices are Output File and Redirect To File. The comment for this option on the page says, "Change it to Redirect To File when you have problems with large files." I’m not actually certain how this is used.
- Download Categories - This is a list of categories for categorizing your downloads. Each category is given an ID and the ID is based on the position of the category in this list. Downloads can be displayed on the downloads page grouped by category.
- Sort Downloads By - This is how downloads are sorted on the downloads page.
- Sort Order of Downloads - This specifies whether downloads should be sorted in ascending or descending order.
- No. of Downloads Per Page - Allows you to specify how many downloads to display on each downloads page.
- Group By - Whether you want to group downloads by category or not.
- Download Templates. This page allows you to specify how downloads appear on the downloads page or on a page or post. Each template consists of HTML that can include template variables, which are described at the top.
- Download Page Templates
- Download Page Header - What gets displayed at the top of the downloads page.
- Download Page Footer - What gets displayed at the bottom of the downloads page.
- Download Category Templates
- Download Category Header - How to display a category on the downloads page.
- Download Category Footer - What gets displayed after all downloads in a category are displayed on the downloads page.
- Download Templates (With Permission)
- Download Listing - Displayed when listing files on the downloads page for users that have permission to download the file.
- Download Embedded File - Displayed when you embed a file within a post or a page and users have permission to download the file.
- Download Templates (Without Permission)
- Download Listing - Displayed when listing files on the downloads page for users that DO NOT have permission to download the file.
- Download Embedded File - Displayed when you embed a file within a post or a page and users DO NOT have permission to download the file.
- Download Stats Templates (With Permission) - Displayed in the following places for users that have permission to download the file:
- Most Downloaded - Displayed when listing most downloaded files.
- Newest Downloads - Displayed when listing newest downloads.
- Downloads By Category - Displayed when listing downloads by category.
- Download Stats Templates (Without Permission) - Same as above but for for users that DO NOT have permission to download the file.
- Download Page Templates
- Uninstall WP-DownloadManager. This page provides an option to delete all the options for the plugin from the options table for the site and then deactivate the plugin.
Usage
This plugin provides several interfaces:
- Widgets - Two widgets are provided for displaying download information on your status bar - Most Downloaded and Newest (or Recent) Downloads.
- Keywords - The plugin supports two keywords. A keyword is a string enclosed in square brackets - [ and ] (e.g [foo]).
- page_downloads - Displays the downloads on a page. This allows you to place the list of downloads anywhere that works for you. Typically you will create a downloads page and you will set the URL for this page on the Download Options admin page.
- download=id - Adds a link to a single download to a post or a page. Specify the ID of the download you want to provide a link to after the equal sign (=) in the keyword. This will display the name of the file as a link wherever you specify this keyword.
- Functions - Functions can be used in page templates directly, or on posts and pages when you activate a plugin such as Exec-PHP. The following functions can be used:
- downloads_page()
- get_most_downloaded(download_count)
- get_newest_downloads(download_count)
- get_downloads_category(category, download_count)
Conclusions
I ran into a few problems using this plugin, although nothing that wasn’t solvable.
The biggest problem I ran into was that the FILE_DOWNLOAD_URL template variable is set to a value that isn’t valid for sites hosted on Microsoft Internet Information Server (IIS), which mine is. As a result, the download listing and download embedded file templates for users with permission don’t work without making an appropriate change. Replace this:
<a href="%FILE_DOWNLOAD_URL%"
with this:
<a href="?dl_id=%FILE_ID%"
Another problem I ran into was really quite minor by comparison. As I would release changes to my downloads, I wanted to keep the entries for the older versions in the database but not offer them to visitors to my site. Unfortunately there isn’t a way to hide downloads.
Upcoming Version
I’m currently beta-testing v1.30 of this plugin. I’m happy to say that it solves both of the problems I encountered. I can now use the FILE_DOWNLOAD_URL template variable, which means I can use the default template. A Hidden permission has also been added allowing me to hide older versions without deleting them. I’m very happy with the results.




November 6th, 2008 at 2:51 am
Thanks for this - I couldn’t work out how it worked from the author’s own instructions.