Title: Terms Before Download
Author: hiroprot
Published: <strong>Juny 26, 2014</strong>
Last modified: Agost 13, 2025

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/terms-before-download.svg)

# Terms Before Download

 By [hiroprot](https://profiles.wordpress.org/hiroprot/)

[Download](https://downloads.wordpress.org/plugin/terms-before-download.zip)

 * [Details](https://bal.wordpress.org/plugins/terms-before-download/#description)
 * [Reviews](https://bal.wordpress.org/plugins/terms-before-download/#reviews)
 *  [Installation](https://bal.wordpress.org/plugins/terms-before-download/#installation)
 * [Development](https://bal.wordpress.org/plugins/terms-before-download/#developers)

 [Support](https://wordpress.org/support/plugin/terms-before-download/)

## Description

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: https://helgeklein.com/download/

Usage

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: https://
domain.com/wp-admin/post.php?post=5670&action=edit_

Create a link to a downloadable file like this:

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

Parameters

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]

## Installation

Install the plugin directly through the WordPress Admin dashboard.

## Reviews

![](https://secure.gravatar.com/avatar/09dbae1bc7666e23af2290a334decdf091f5c9fd2ad8179849e50ffed9a5b5dc?
s=60&d=retro&r=g)

### 󠀁[This is a copyrighted review, .. (GRIN!)](https://wordpress.org/support/topic/this-is-a-copyrighted-review-grin/)󠁿

 [MrsJessicaSimpson](https://profiles.wordpress.org/mrsjessicasimpson/) Novembre
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=\”https://www.dropbox.com/s/4oksvr75fhkf5z1/TU%20-%
20V1%20-%20Day%20Break%20-%20ePub.zip?dl=1\”]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=”https://www.dropbox.com/s/4oksvr75fhkf5z1/TU%20-%
20V1%20-%20Day%20Break%20-%20ePub.zip?dl=1″]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 ](https://wordpress.org/support/plugin/terms-before-download/reviews/)

## Contributors & Developers

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

Contributors

 *   [ hiroprot ](https://profiles.wordpress.org/hiroprot/)

[Translate “Terms Before Download” into your language.](https://translate.wordpress.org/projects/wp-plugins/terms-before-download)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/terms-before-download/),
check out the [SVN repository](https://plugins.svn.wordpress.org/terms-before-download/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/terms-before-download/)
by [RSS](https://plugins.trac.wordpress.org/log/terms-before-download/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.5

 * Security fix: the content page is now sanitized before display to prevent XSS
   attacks.

#### 1.0.4

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

#### 1.0.3

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

#### 1.0.2

 * 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.

#### 1.0.1

 * Added support for nested shortcodes on the terms page

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.0.5**
 *  Last updated **10 mesos ago**
 *  Active installations **70+**
 *  WordPress version ** 3.5 or higher **
 *  Tested up to **6.8.5**
 *  Language
 * [English (US)](https://wordpress.org/plugins/terms-before-download/)
 * Tags
 * [download](https://bal.wordpress.org/plugins/tags/download/)[eula](https://bal.wordpress.org/plugins/tags/eula/)
   [license](https://bal.wordpress.org/plugins/tags/license/)[terms](https://bal.wordpress.org/plugins/tags/terms/)
 *  [Advanced View](https://bal.wordpress.org/plugins/terms-before-download/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/terms-before-download/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/terms-before-download/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/terms-before-download/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/terms-before-download/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/terms-before-download/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/terms-before-download/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/terms-before-download/reviews/)

## Contributors

 *   [ hiroprot ](https://profiles.wordpress.org/hiroprot/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/terms-before-download/)