Title: Page Guard
Author: fculross
Published: <strong>March 21, 2017</strong>
Last modified: August 22, 2022

---

Search plugins

![](https://ps.w.org/page-guard/assets/banner-772x250.png?rev=1621895)

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.

![](https://ps.w.org/page-guard/assets/icon-128x128.png?rev=1621897)

# Page Guard

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

[Download](https://downloads.wordpress.org/plugin/page-guard.zip)

 * [Details](https://wordpress.org/plugins/page-guard/#description)
 * [Reviews](https://wordpress.org/plugins/page-guard/#reviews)
 *  [Installation](https://wordpress.org/plugins/page-guard/#installation)
 * [Development](https://wordpress.org/plugins/page-guard/#developers)

 [Support](https://wordpress.org/support/plugin/page-guard/)

## Description

Page Guard uses a single URL parameter or POST variable as a means of providing 
a token to guard access to any page on which this plugin’s shortcode is placed. 
Output of alternative content can be made to occur when the token is missing or 
fails to match what is expected – if the token received matches the expected one,
the controlled content can be revealed to the visitor.

For this version, an additional shortcode attribute “title” also allows the page
title to be changed conditionally PROVIDED JAVASCRIPT IS ENABLED IN THE BROWSER (
it has no effect if JavaScript is turned off!)

The shortcode to use is ‘pageguard’ – its attributes are:

    ```
    tokenparam (required) -> a string value containing the name of the token URL param - e.g. 'mytoken'
    eq (optional) -> a string value containing the expected value of the tokenparam - e.g. 'x34ggj45b'
    ne (optional) -> as for "eq" but when used, shortcode will output content on non matching token
    absent (optional) -> when absent="1", shortcode will output content on detection of missing token
    title (optional) -> a string containing a page title to apply when the parent shortcode's criteria are met 
    ```

Syntax examples:

    ```
      show block on matching token -
        [pageguard param="token" eq="download"]
        Text to be output on matching token found
        [/pageguard]

      show block on non match + change title
        [pageguard tokenparam="token" ne="download" title="Downloads - invalid token"]
        Error text for output when token fails to match
        [/pageguard]

      show this on no token found + change title
        [pageguard tokenparam="token" absent="1" title="Downloads - missing token"]
        Error text for output when token is missing
        [/pageguard]
    ```

### Usage

A typical use scenario might be to control access to a downloads page. Suppose you
have a PayPal “Buy Now” button on your site which allows visitors to make a payment
for say, an eBook or audio recording. When setting up the button in your PayPal 
account you specify a URL on your site to which the visitor is returned after they’ve
made payment. On this return page you’ve added a link the visitor can use to download
their purchase – however, you don’t want any non paying visitors to have access 
to the download link(s) on the page! If you also want the page title to reflect 
any error conditions, you an use the “title” attribute to do this (please be aware
however that this functionality depends on JavaScript being enable in the user’s
browser – it disabled, “title” has no effect.)

Add a parameter to the end of the return URL (using any name and value you want)
when you set up your button in PayPal e.g.

    ```
    "http://your.wordpress.site/download/?dltoken=x34ggj45b"
    ```

Next, add pageguard short codes for the cases you intend to handle to your return
page in WordPress –

    ```
    [pageguard param="token" eq="x34ggj45b" title="Title for matched token"]
    Text to be output on matching token found
    [/pageguard]

    [pageguard tokenparam="token" ne="x34ggj45b" title="Title for failed match"]
    Error text for output when token fails to match
    [/pageguard]

    [pageguard tokenparam="token" absent="1" title="Title for missing token"]
    Error text for output when token is missing
    [/pageguard]
    ```

This will correctly display the main content for the page when Page Guard detects
a matching token. It also provides for the possibility of providing different error
content for the page in the event of the token being incorrect or missing.

## Installation

 1. To install the plugin, download the zip file and upload via the plugin interface
    of your WordPress site or install the plugin through the WordPress plugins screen
    directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Page Guard” is open source software. The following people have contributed to this
plugin.

Contributors

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

[Translate “Page Guard” into your language.](https://translate.wordpress.org/projects/wp-plugins/page-guard)

### Interested in development?

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

## Changelog

#### 1.1

Added JavaScript based support for changing page title to match shortcode criteria

#### 1.0

First implementation

## Meta

 *  Version **1.1**
 *  Last updated **4 years ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 4.7 or higher **
 *  Tested up to **6.0.11**
 * Tags
 * [post](https://wordpress.org/plugins/tags/post/)[query string](https://wordpress.org/plugins/tags/query-string/)
   [url](https://wordpress.org/plugins/tags/url/)
 *  [Advanced View](https://wordpress.org/plugins/page-guard/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/page-guard/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/page-guard/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/page-guard/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://gitlab.com/fculross/wp-plugins/wikis/Donate)