Support » Plugin: WooCommerce » Please Help! Woocommerce will not add download links after purchases.

  • Hello,

    First, I understand Woocommerce quite a bit. And I don’ think I am missing anything in my Woocommerce setup. But hopefully you can find it in your heart to help me figure out why when a purchase is made that after purchase the downloadable links are not generated. They are not generated to the buyer’s account nor are they added to the automated invoice email. So, in the meantime I am having to respond to my client’s customers manually with download links I have had to create manually through a 3rd party plugin to keep the URLs hidden.

    Here is my Woocommere troubleshooting and settings breakdown.

    All the details of the invoice are correct and the details of the purchase in the buyer’s account. The only thing missing is the downloadable links.

    Now, these files some are fairly large audios, but I built this mockup site for my client prior and everything worked fine. I’ve also tested even a small pdf document to be downloadable after purchase and I still get nothing after purchase, no downloadable link.

    My product data settings are:
    “Simple Product” > Virtual (Checked) > Downloadable (Checked).

    I’ve used the default “Choose File” method to input my downloadable products.

    From there in troubleshooting I’ve tried, Woocommerce’s download options such as mod_xsendfile and redirect only. I’m already using the Force Downloads option. None of these above methods has resulted in any difference.

    From there I’ve searched online for solutions and came to nothing. My Woocommerce .htaccess is fine, which is “deny from all” and that is it.

    From there I troubleshooted down every plugin that would maybe make a difference in affecting Woocommerce.

    From there I have finally deactivated every single plugin on my testing site for this and only have Woocommerce active.

    I still get the same problem.

    The hosting account is HostGator and when I built the mockup site for this client, everything worked fine on the same hosting as well.


Viewing 15 replies - 16 through 30 (of 41 total)
  • jaylevine


    Any updates on this? I had not updated WordPress or WooCommerce in months and then a few weeks ago I updated to WordPress 3.8.3 and WooCommerce 2.1.7. After that update, downloadable product links stopped appearing in the emails sent to customers once their order was complete.

    I did find a few links with people having similar issues. In some cases it appears it can be caused by a database prefix being too long ( In other cases, it looks like it might have something to do with the way downloadable files are stored:



    I had exactly the same problem with no link and email, but my solution was to disable all plugins installed and test..and Bingo!, disabling a specific plugin (Coming Soon mode plugin) everything worked normally. And also another detail is that if your product is downloadable only, do not select the option ‘Virtual’, because obviously this makes the order must first be approved to send the file.

    Hope this help!




    Good idea to look into. I had Coming Soon Pro used too, which may of been the problem.

    Thanks for the feedback.



    Okay – I will try those. I must say – I never even considered “un-checking” the Virtual option… I will try this – thank you very much!



    I didn’t consider that either. I thought the Virtual option was what determined that it didn’t have shipping details. But it would make sense for Downloadable to include that too.



    Just tested and unchecking Virtual for the downloadable product did not fix the issue with the missing download link. And as I suspected, unchecking Virtual also put back the shipping options, which doesn’t make much sense for a downloadable product.

    I’ll have to do some more testing today with disabling various plugins, but some of our plugins are pretty critical to the operation of our WooCommerce site.



    Oh wow – thanks for the update. Yes, Ive noticed an uptick in bugs with these woocommerce updates. It kind of puts me in a bind with my website. I will also do some testing. Thanks for the update.



    Unchecked “Virtual”, but it didn’t help.

    For me the problem was solved by changing the tableprefix back to wp_ and change woocommerce->setting->products->File download method to redirect only

    Hope it helpes someone else



    @hgrat !

    That is what I said 2nd post down. I think some tried it though and it didn’t work. It may be a problem of both the wp_ prefix changed and/or the reidirect method. I know the php error report kept saying that it couldn’t drop Woocommerce tables.

    Thanks for an update.

    Thanks @hgrat and @Noahj for your contributions to this post – but still getting no emails with the redirecting links. How are you guys proceeding forward with your shopping carts?



    @yikespleasehelp … please start over. It has been around a month since your last post if that was for the same site and same issue.

    The only way I resolved my issue was by starting over and getting rid (if applies) any custom database prefix.

    I can;t offer any solution, because I started over and fixed my site around that same day.

    Hey everyone,

    So I fixed this problem on our site last night, after going back and forth with WooCommerce Support for a couple of weeks. In the end, I was able to solve it for us with a bit of investigation and tinkering, so I wanted to share this in case it helps anyone else. I’ve already communicated with WooCommerce that my fix is not the real fix and that we need to find out why this failed to begin with and it needs to be fixed on WooCommerce’s end, or it could affect many of their users.

    In WooCommerce 2.1.x, they added the ability for a digital download product to have more than one file. In 2.0.x and earlier, it could only have one file. To accomplish this, the query that looks up the download links and adds them to the emails now looks for a new column called permission_id and orders the download links by it. In our case, the permission_id column was not in our (prefix)_woocommerce_downloadable_product_permissions table. Because that column wasn’t there, mySQL was returning an error on the query and no download links appeared in the email.

    To see if this is the problem you are having, go take a look at your (prefix)_woocommerce_downloadable_product_permissions table (using mySQL Workbench, phpmyadmin, or something similar). If you don’t have a permission_id column in your table, that’s probably why your email download links are missing.

    To fix it (for now), open woocommerce\includes\class-wc-order.php in your wordpress directory. Find the function get_item_downloads. In that function, you’ll see a SQL query that ends with the line ORDER BY permission_id. Remove that line. As soon as you do that, test your digital download emails again. You should see your links.

    I’m guessing that WooCommerce 2.1.x is supposed to modify that table to add the column, but for whatever reason, it failed to do so on our install and did not return any error messages. I’m trying to work with WooCommerce Support to track this problem down, because our set-up here is not that unusual and I’m sure this is affecting other customers.

    The other option for fixing this problem, if it’s the problem you are having, is to add the permission_id column to your (prefix)_woocommerce_downloadable_product_permissions manually. I’m waiting to hear back from WooCommerce on the structure of that column, but my guess is that it’s a column of integers with a default of 0. So you can manually create the column, but you need to fill in a 0 value by default for every record; if you leave it as null, you’ll still have this problem.

    @jaylevine thanks for the update and working with WooCommerce on this. Just to confirm your suspicions, my client is having the same issue. I hope they release a fix for this quickly.

Viewing 15 replies - 16 through 30 (of 41 total)
  • The topic ‘Please Help! Woocommerce will not add download links after purchases.’ is closed to new replies.