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.

Terms Before Download


Terms Before Download adds a shortcode that can be used instead of HTML anchors to link to downloadable files. If such a link is clicked a popup dialog shows terms and conditions (EULA) which must be accepted for the download to start.

The terms and conditions are read from a WordPress page. That way there is only a single place to maintain the terms and they can easily be displayed independently of the plugin.

The plugin supports Google Analytics to keep track of the number of downloads. Supported GA scripts: ga.js, analytics.js.

An example of the plugin in action can be found here:


Add the shortcode tbd_terms once (!) to each page or post where terms need to be displayed and configure the ID of the page that contains the terms. Example:

[tbd_terms terms_page_id=5670]

The page ID is part of the URL when editing a page in the admin UI. Example:

Create a link to a downloadable file like this:

[tbd_link url=\”URL\”]link text[/tbd_link]


The following parameters can be used with the shortcode tbd_terms:

  • terms_page_id: ID of the terms page displayed in the dialog [required]
  • dialog_title: The title of the dialog to be displayed [optional]
  • class: CSS class of the div enclosing the dialog content [optional]
  • padding: Padding between the dialog frame and the inner content [optional]
  • width: Width of the dialog [optional]
  • ok_button_text: Text for the OK button [optional]

The following parameters can be used with the shortcode tbd_link:

  • url: The URL to link to [required]
  • text: Link text [required if text is not enclosed]
  • gacategory: Google Analytics Category [optional]
  • gaaction: Google Analytics Action [optional]
  • galabel: Google Analytics Label [optional]


Install the plugin directly through the WordPress Admin dashboard.


སྤྱི་ཟླ་བཅུ་གཅིག་པ། 29, 2018
I must confess here, that I was searing at for a while back there, but once I realised what I was doing wrong: then Wallop! – Absolutely brilliant pop-up. TUT: After putting this on the page [tbd_terms terms_page_id=xxx] no worries. The wrong thing I did followed, .. example from web page states. Create a link to a downloadable file like this: [tbd_link url=\”URL\”]link text[/tbd_link] So this is what I constructed, .. Download link [ [tbd_link url=\”\”]Day Break[/tbd_link] ] in ePub format. It didn’t work, .. and I got a 404 error. I am also using Dropbox as my file repository, but I can’t see why that would be an issue. ANYHOW: The link below does work, .. Download link [ [tbd_link url=”″]Day Break[/tbd_link] ] in ePub format. Not a great deal of difference, but the linking thing *DID NOT* like that escape \” sequence being in it. Or maybe I’m just thick, and the back-slash wasn’t supposed to go there in the first place. – Now, I’ve no idea if that’s right or not, but my pop-up copyright link and file download works like a charm. But it goes to show you how complicated escaping from the maddin crowd can actually get; without you realizing the depth of the bloomin’ rabbit hole you’ve just fallen down in getting away from the rabid quotes. Thanks for reading, Jessica: Praise be the ORI.
Read all 3 reviews

Contributors & Developers

“Terms Before Download” is open source software. The following people have contributed to this plugin.




  • Bugfix: multiple links on the same page always pointed to the first URL on the page. This was introduced in 1.0.3.


  • JavaScript: moved the dialog’s initialization from document ready to the link click event (thanks Friendventure)


  • Added support for analytics.js. The previous version only supported ga.js. The plugin’s code auto-detects which of the two Analytics scripts is in use.


  • Added support for nested shortcodes on the terms page


  • Initial release