Tweet2Download WordPress Plugin

Tweet2Download allows a wordpress blog to require a tweet and a follow in exchange for the downloads available on the blog. It is a viral marketing tool that effectively turns your downloads into viral downloads, and since it’s open source it gives you the best kind of marketing tool there is: a free marketing tool.

If you have a blog that provides downloads, this plugin is the perfect twitter marketing tool for you. Tweet2Download allows you to require a tweet and a follow in exchange for a download on your blog.

The plugin is well suited for blogs that offer ezines, software, code, design creatives, tutorials, music, videos, torrent files or any kind of download for that matter.



PHP 5 or above, Curl, tested with WordPress 3.0 and above.

Any decent web hosting should have these, if yours doesn’t, you might want to switch (we’ll even give you a promo code for a big discount).


Same as the Akismet plugin, Tweet2Download requires an API key from Twitter to work. You can get the required Twitter API key, consumer secret and consumer key from here, just make sure to select “Default Access type:” to “Read & Write” in order for the plugin to work properly.
see our documentation page on the subject.

To install the Tweet2Download WordPress Plugin, follow these steps:

  1. Extract and upload the `tweet2download` folder to the `/wp-content/plugins/` directory
  2. Activate the plugin through the ‘Plugins‘ menu in WordPress
  3. Create a Twitter App for your blog here. Learn here how to create a Twitter App for Tweet2Download.
  4. Go to the plugin setup page (wp-admin -> Settings-> Tweet2Download Settings) and fill in the Twitter App info
  5. Upload the file you wish to provide using the Tweet2Download button (wp-admin -> Media -> Add New), make sure to tick “These files will be downloaded using Tweet2Download
  6. Use the short code, to place the Tweet2Download button in your post


  1. Upload a file to wordpress (wp-admin -> Media -> Add New), make sure to tick “These files will be downloaded using Tweet2Download
  2. When editing a post, click the “Add Tweet2Download Button” icon (next to the “Upload/Insert” media icons)
  3. Select the file you previously uploaded, and click “Insert Tweet2Download button into Post
  4. Change the shortcode to contain the tweet and follow you want, Publish!

Shortcode usage

You can show the Tweet2Download button in a post by calling the Tweet2Download shortcode, for example:

tweet="The tweet you want the downloaders to post goes here"
follow="@awesometweeterer" /]

Shortcode parameters

The shortcode takes 3 parameters.

file=”” – the filename the users will get to download. The file needs to have been previously uploaded with “These files will be downloaded using Tweet2Download” checked!
for example: file=”my-file.zip”

tweet=”” – the tweet the user will post on their twitter account in exchange for the file. You can use %%post-url%% in the tweet as a placeholder for the post’s link,
for example: tweet=”I really like this article %%post-url%%”

follow=”” – comma separated list of twitter accounts the user will follow in exchange for the download.
For example: follow=”@inspiredcore” or follow=”@batman,@superman”

Shortcode Example

See the shortcode examples page

Demo & Download



= 1.4.0 =

  • fixed compatibility issues with WordPress 3.3
  • adjusted settings page to reflect Twitter APP changes

= 1.3.0 =

  • plugin is now able to reveal hidden content on the page in exchange for a tweet and a follow
  • added ability to customize the Tweet2Download button with the [tweet2downloadhtml] shortcode
  • some bugfixes

= 1.2.1 =

  • First public release
Filed in: Featured, Projects, Tweet2Download Tags: , , , , , , , , , , , , , , , , , , , ,

Related Posts

Bookmark and Promote!

65 Responses to "Tweet2Download WordPress Plugin"

  1. Adrian A. says:

    Great post and awesome plugin. I really like the marketing approach of this; an excellent promotion tool, especially when we talk about Twitter. Also, great UI/UX, easy to setup, configure, *must-have* shortcodes, what else could I say … overall: A+ plugin ! Keep up the good work popra and InspiredCore.

  2. Jesse says:

    This is a great plugin! I created a Twitter app and installed the plugin successfully. However, the button appears in the post on the homepage’s blog roll, but when the user clicks the blog title to take them to the blog, I get an error: file attribute missing. What can I do to fix this? Thanks!

  3. Adrian says:

    I have a recommendation of feture, add a field to insrt a link direct for download, from other adress for example.

  4. Adrian says:

    Good, insert an external file will be great.

  5. DiTesco says:

    Great plugin. Jjust to let you know that I have installed it and ran into a minor problem. When clickiing the button, it was returning an error. Checked the app details and found that the “browser” option will not change unless I put a callback url. Did that and everything works like a charm. just a heads up, and btw, this is my way of saying thanks: http://goo.gl/YMET2

  6. Mary says:

    Wow…your plugin made it on Softpedia….congrats :)

  7. Alex says:


    This plugin is truly awesome and I will be sharing it with my readers ASAP

    Thanks so much for creating such a virally awesome gift for us all.

    Came over from DiTesco’s review btw – noticed in the comments that you appeared to be the genius behind it so had to come and thank you personally.

    I’m off to create a pdf just so I can use it :)

  8. popra says:


    thank you very much for the comment and support. Can hardly wait for your article!

  9. 9ale7 says:

    love it .. but 2 problem

    1- my site is full of download links .. ALOT !

    so is there a way to use the uploaded files and not to upload them again??
    ” of course i’m using wordpress ”

    if you can add an icon in the post editor where i can add the link to a button ?
    as Adrian said.. of course it will take time, but i will not upload anything again.

    2- what if my visitors don’t have a Twitter account .. you know i should accept all kind of people
    it there away to add : No thanks ??

    Of course better to add a plugin control (enable/disable : force twitter) so i can give my
    visitors a time to change :)

    finally ..THANKS !

    i must use it in my future uploads

  10. Alex says:

    Quick question Popra (sorry, only now got around to playing with it LOL)
    does the tweet count/download count connect with the RT count of the post itself?
    If not, where ARE the statistics for this?
    any way to show a count underthe button so that once you had a few hundred shares you could activate it as social proof?

  11. rohan says:

    This is too awesome. I use it to give away my free ebook and I’m loving it.

    Here it is in action.


    Would be cool to have different types of buttons to choose from, but man, this must be the coolest plugin I’ve come across in some time. Awsome work!

  12. Dominic says:

    This is a awesome plugin. Do you think it’s possible to integrate the facebook like button? And if any visitor shared any stuff with friends he/she is allowed to download? I think it could be more effective.

  13. Is there any way to run on Blogspot?

  14. Bob says:

    Great plugin but I want to get this working in the widget area? IE. A box on my website with a ‘Free ebook Download’ and a description, with the Tweet2Download button.

    Any ideas please?

  15. MHS says:

    I have an issue with this plugin and uploading a file. The file I wish to upload gives me an error that the file is too big to upload. Is there a way to upload the file via FTP and then add the file to tweet2download in the Upload New Media area?
    any help would be appreciated! thanks

    • admin says:

      If you upload your files with FTP into /wp-content/uploads/social2download/, you will be able to use them in the Tweet2Download shortcode

  16. Joe Simmons says:


    Can you tell me where the API key is on the Twitter application ? I can’t find it on the setting

    page (only the consumer key and the secret key show up ) and I don’t know if

    that means u should use the consumer Key twice.

  17. Any idea when we will be able to offer downloads from other external links? Something i really need ^^

  18. Yosua says:

    Hi Popra,
    Your plugins amazing, with cool download button.
    Can I type the short-codes directly in the post without uploading the file from WP first?
    If that possible then I should set the file parameter to external links with no problem.
    It should work that way too isn’t it?

  19. Lunie says:

    is there a plugin like this for Facebook? i need BOTH…THX!!

  20. Rafaela says:

    Hi Popra,

    This plugin is awesome. Except that my site does not work. I installed the plugin correctly, enter the information from Twitter App I uploaded the file, put the shortcode in the post. But when I click the button to test the download, instead of opening the download page open a 404 error page.

    When I use the direct URL to the file also in a 404 page, which can be happening?

    Thanks to help me,

    Rafaela Carvalho

  21. James Dodd says:

    With wordpress upgrade to 3.3 I’m getting error:

    Missing argument 4 for _media_button(), called in /wp-content/plugins/tweet2download/tweet2download.php on line 141 and defined in /wp-admin/includes/media.php on line 385

  22. James Dodd says:

    With wordpress upgrade to 3.3 I’m getting error:

    Missing argument 4 for _media_button(), called in /wp-content/plugins/tweet2download/tweet2download.php on line 141 and defined in /wp-admin/includes/media.php on line 385

  23. Tanim says:

    This is a fantastic plug in and saved my money when I was going to buy a paid plug in from warrior forum

  24. steve says:

    I have installed the plugin in wordpress it all works great and i can can create the tweet2download button in a post along with an image of the ebook im giving away but i want to use it in a text widget on the right hand side of my site. I copy and paste all the above html code which displays fine in a post but the code for the tweet2download remains as code once it is used in the text widget area. Please help me find a way round this as this is where i want it displayed on my site.

    Many thanks steve

  25. Profit2U says:

    I think I’m doing all things correctly – I even deleted my Twitter App, re-created it, permission type etc. all is correct and I’m still getting the error

    There was an error connecting to twitter, probably a consumer key/secret issue.

    Now I’m sure it is not a consumer key/secret issue, but is there someone experiencing the same here?

    Can it be a WordPress 3.3.1 version issue?
    Has Twitter changed something maybe?

    All PHP etc. versions are correct.


    • Christi says:

      I am having a similar problem now. Everything seemed to be working fine and then it wasn’t. After I authorize the APP in twitter and am sent back my blog I just get a blank screen and if I refresh it I see a 401 error indicating that the tweet didn’t go out. Quite perplexed and cannot get it to work at all now.

  26. Incog says:

    wow – i love this app! any chance of you doing a “like2download” app for facebook?


  27. Dave says:

    VERY NICE PLUGIN! I love it… Keep up the good work. Hope you could improve it a little more in your future versions.

    Question, is there a way for us to “count” the number of downloads and monitor it (location of downloader, time, date, etc.)?

  28. Hello friends, thank you very much for Tweet2Download plugin, it’s a great job!

    I made a change to your plugin:

    At the file tweet2download.php on line 506 the plugin refer to get_permalink function and it’s returns the full URL of the post. However the tweet text have a limitation of 140 characters. I just changed the function from get_permalink to wp_get_shortlink and now the Tweet2Download plugin works fine with or without the Bit.ly Shortlinks plugin (http://yoast.com/wordpress/bitly-shortlinks/) and reduce a lot the characters of a tweet text.

  29. Marco says:


    upgraded my WordPress today and tweet2 download seems broken.
    I only receive a error:

    tweet2download error: “tweet” attribute missing. eg. [tweet2download file="my-file.zip" tweet="I've downloaded a file from %%post-url%%" follow="@batman"]

    syntax is fine worked before the update. Also tried to reupload the file but didnt work.

    • Marco says:

      I read a bit through the code and noticed that t2d_shortcode() is running several times and on the 2nd run the get_post_meta returns false overriting the existing $attrs to a zero array but increasing the $shortcode_index.

      I did a really dirty workaround, now its working again maybe it`s helpful for you to find the problem:


      btw: wordpress 3.3.2

  30. romulo_ctba says:

    Nice job dudes

    the only question is: how do i use it in template files, like single.php? i mean, im building an singer website
    she wants to sell her music for a tweet, ok?

    nice, but when she adds the custom post type with her song and uploadsit in a custom field, checking the “tweet 2 download” checkbox. The cach is that it passes this to the custom field:

    and it gets me a shortcode error. ideas?

  31. romulo_ctba says:

    Anyway, i added a wysiwyg editor as the custom post type’s custom field, and turned out everything is ok now :P

    But i could really use some php to customize my template files =)

  32. romulo_ctba says:

    lol, my so thought solution didnt work
    it prints the shortcode, even using do_shortcode

  33. Christi says:

    I also would like to add the Tweet2Download button to a side bar. Any hope of making that happen? Only the code is displayed… and with an error. However, it works fine in the actual post. Thanks for any insight and help with this.

  34. Jonatha Rivera says:

    Hello i’m trying to implement Tweet2Download plugin but i get

    tweet2download error: “tweet” attribute missing. eg. [tweet2download file="my-file.zip" tweet="I've sin tweet downloaded a file from %%post-url%%" follow="@batman"]

  35. Saturn says:

    Im getting a error:

    “Could not tweet, please try again later. (401:{“error”:”Read-only application cannot POST”,”request”:”\/1\/statuses\/update.json”})”

    How can I fix this?

    • chanhope says:

      am also getting same error ..

      Could not tweet, please try again later. (401:{“error”:”Read-only application cannot POST”,”request”:”\/1\/statuses\/update.json”})

  36. Nancy says:

    Hi All,

    First of all, great plugin!

    I have this weird problem. In maintenance-mode the download link was working, although i didn’t see a button, it was only a link. But when I made the site visible I got this:

    tweet2download error: “tweet” attribute missing. eg. tweet2download error: “tweet” attribute missing. eg. [tweet2download file="my-file.zip" tweet="I've downloaded a file from %%post-url%%" follow="@batman"]

    Does anybody knows what this means?

Leave a Reply

Submit Comment

© 2015 InspiredCore. All rights reserved. XHTML / CSS Valid.
Proudly designed by Theme Junkie.