Easy Download Media Counter Free Plugin

Today i was thinking about a nice little plugin that be could very useful: a download counter for WordPress media. I took a look on the internet and didn’t find what i was looking for, so i decided to do it myself. What i was thinking about was pretty simple: count downloads for media that are listed in the wordpress library and provide two shortcodes: the first one to display the download link, and the second one to display the number of times a media was downloaded.

So basically, the plugin offers these two shortcodes, and to make it a bit more useful i added a field in the edit media page, where you can manually modify the downloads value.

Here are the shortcodes to use:

  • (edmc id=”xx”)Download the file(/edmc) – Link to download the file
  • (edmc_show id=”xx” – Returns the sentence “Downloads: xx”
Please note that you must replace ( ) by [ ], and xx by the media ID. You also provide a download link without using shortcode, just add ?edmc=xx to any url and tada !! The magic appears ! 5don’t forget to replace xx by the media unique ID). And a last thing, one line 112 you can define the download file name.

Get the plugin

Gallery

Code

Revision

A little bug has been fixed thanks to Cosmin Popovici

Changelog

June 10 2012: Version 1.1
– Added downloads column in media library

About the author

Remi Hey! My name is Rémi Corson, I'm a French WordPress Developer, I code stuff and I write from time to time ;-) Buy a coffee
Show your support

Related Posts

48 comments

  1. Kasper:

    Dear Remi,

    Thanks a lot for offering this plugin for free.
    However I do wonder if it’s possible to let it count a link that doesn’t refer to a downloadable item. I’ve tried it by adding the ?edmc=xx to a page link, but upon clicking it will give a message to download a 0 byte file.

    What I would like is to just have visitors click a link on my site, go to the direction that link is pointing. But being able to post a counter as to how many people have clicked that link before them.

    Looking forward to hear from you,

    Regards,
    Kasper

  2. Dave Reed:

    Hi, Remi:

    I first must admit being rather new to WP so please bear with me on this. I wanted to try this but I’m missing something about how to write it in. You say to use the unique media ID, but I have no idea what that is. I’ve looked everywhere and find no Media ID field, so I’m not getting something here….

  3. Mo:

    Thanks a lot,
    it works simple. http://www.mo-ment.de/typomas-zum-download/

    In the wordpress-plugin-site I missed the end tag for the url shortcode, I found it here.

    thx

    mo

  4. Mo:

    No, this try failed. No Change. I need a different link structure.
    this Link does not work: http://www.mo-ment.de/?edmc=1484
    also not http://www.mo-ment.de/wordpress/?edmc=1484
    every time only download of the name (? 1,5KB), not the file.
    only http://www.mo-ment.de/wordpress/wp-content/uploads/2012/06/typomass_mo-ment1.pdf works.

    I have to deactivate your plugin, sorry, no counter yet.

  5. mo:

    OK, it crashed since I have 3.4.
    I try to update, asap.

    mo

  6. mo:

    3.4.1. no change

    Can you confirm that the repo is writable?
    What do you mean “repo” ? :-/

  7. mo:

    Sorry, which one folder I mean?

  8. Mo:

    I give up.

    content / plugins / your Plugin / and all files are writable … nothing .

  9. Mo:

    I bet, it works when I installed this first time. I dont know, where the probleme is come from, because I changed nothing. (I installed under WP 3.4)

    grrrmpff

  10. mo:

    Ahhh. It works with images (JPEG) but no PDF-file.

    Idea?

  11. Hi Rémi, I am having the same problems as mo has. The counter worked when I established the link. Then, one day, I got alerted that the file was corrupt. I checked and the download dialog box displayed that the file to download was 0 kb in size.

  12. I believe i’ve found the code of the corrupted file some people are reporting.

    It is happening because you are getting the file path (physical) using wp_upload_dir()( http://codex.wordpress.org/Function_Reference/wp_upload_dir) and this returns the path including the current month (when this option is configured on the backoffice).

    So if you uploaded the file last month (09) the download will work until the month rolls over.

    When you upload the file, it would be stored on …/wp-content/uploads/2012/09

    In october it will stop working since the download folder will become …/wp-content/uploads/2012/10

    If you look at the content of the corrupt file you will see something like

    Some real path ommited

    Warning: filesize() [function.filesize]: stat failed for [WP ROOT FOLDER]wwwroot/wp-content/uploads/2012/10/MYFILE.ZIP in [WP ROOT FOLDER]wwwroot\wp-content\plugins\easy-download-media-counter\easy-download-media-counter.php on line 137

    Warning: readfile([WP ROOT FOLDER]wwwroot/wp-content/uploads/2012/10/MYFILE.ZIP) [function.readfile]: failed to open stream: No such file or directory in [WP ROOT FOLDER]wwwroot\wp-content\plugins\easy-download-media-counter\easy-download-media-counter.php on line 139

    So this is the cause, the fix i’m not sure if it’s that simple :-)

    I’m not versed on wordpres, but the file path seems to be available as part of the media, so perhaps a redirect could be used to the “real” path or check if this option is enabled and deduce from the “real path” the month

  13. Leon:

    Hey Rémi,

    I’m having the same issue too.

    At first it worked great, but then I replaced the file with a FTP with a new version and I started having the same issue as Jan and mo.

    The file is a zip. The only change was replacing the file. Direct download (trough …wp-content/uploads/… URL) works fine.

    I initially uploaded the file with WP, then replaced it via FTP (because it’s a fairly large file) – it worked fine, but stopped working when I replaced it again recently. Nothing else was changed (on WP or the server; the filename is the same), just the file contents.

  14. The plugin is not working maybe i am doing something wrong here

    [edmc id=’1′]The Debian Chip Descargar[/edmc] [edmc_show id=’1′]

    the counter works but shows a “() ” at the end but the file linked to the text dont download properly (boken download) please a fix!!!

    • Hi, it’s because you are not using the plugin as you should. The way you insert the shortcode isn’t good. Simply use the shortcode without any “a” tag, it’s automatically inserted. Please read the documentation.

  15. Hi Rémy,
    In my website I manage mp3 files that can’t be uploaded by the WordPress system because are too large (25 Mb or more). So, they have not id number. Could be another way to use your plugin?

    Thanks,

    Eduardo

  16. WallpaperEVO:

    I have the same problem with downloads it give me 0kb file.
    When you will release the update?

    Here is a live preview of the problem:
    http://wallpaperevo.com/2013/01/2014-chevrolet-corvette-wallpaper/
    click on “Download Wallpaper” and you will get only 0kb JPG.

    Regards.

  17. I just fixed it in version 1.2

    • Cosmin:

      It’s not fixed, it still fails with 0-byte files.

      WordPress folders chmod: 755
      Files chmod: 644
      Owner : www-data

      Trying to get a file with spaces in the name fails with 0-bytes (empty file), i.e. “My Awesome File.jpg”. If checking with file_exists(), you can see it will return FALSE.

  18. Paul:

    Hey Rémy, tank you for this plugin! Can you tell me one thing? The shortcode ID . ‘”]’ ) ?> shows me the numbers of downloads, right? But it also shows me the type of media – and i don’t want that. Wher to modify your plugin, to hide this information? I show the mediatype on an other place…

    Can you please tell me? Thanks a lot for your plugin and the answer!

    Best reguards!

  19. WallpaperEVO:

    Thank you for the great plugin its working great!
    Is there any way to display total number of downloads of all the file?

  20. Cathy:

    Hi Remi

    I’m having a little trouble with the plugin. I’ve found the ID (shows as post ID not attachment ID but perhaps that’s just due to the latest version of WP.)

    So I’ve added ?edmc=382 to the end of the download link, then gone to the front end and downloaded, but the count column in the Media manager has not recognised and still shows no downloads.

    What would you suggest?

    Thanks

    Cathy

  21. Maria Ramos:

    Good day,

    I’m Maria Ramos from WebHostingHub Support. We have found your Easy Download Media Counter plugin at http://www.remicorson.com/easy-download-media-counter-free/ very interesting and we would like to translate it to Spanish language to help people from Hispanic community. Would that be ok with you?

    I hope I’ll hear from you soon.

    Kind regards
    Maria Ramos
    WebHostingHub Support

Leave a Reply