TagLock

Protect WordPress content based on KlickTipp tags - no membership required, 100% cache compatible and secure.

By GoSuccess

Version 1.0.0 Active Installs 0+ Updated 2 months ago 2 months old

Description

TagLock allows you to protect WordPress content (videos, text, downloads) based on KlickTipp tags without setting up a complex membership plugin.

Unlike traditional solutions, TagLock uses a headless approach: Protected content is not rendered in the initial HTML but is dynamically loaded via React and REST API only after successful API validation.

🔥 Features

  • TagLocker-based Protection – Shortcode [taglock id="1"]...[/taglock] protects any content.
  • Tag-based Access Control – Define which KlickTipp tags are required (Any or All tags mode).
  • Cache Compatible – Protected content is loaded only after verification.
  • Secure by Design – Protected content is not rendered in the initial HTML.
  • React-based Admin Interface – Modern settings UI using WordPress Components.
  • Connection Health Monitoring – Periodic connection checks and a connected/disconnected status in the admin UI.
  • No User Accounts Required – Access is verified via a subscriber identifier.
  • Extensible – Provides filters and actions for customizations and add-ons.

Requirements

  • WordPress 6.8 or higher
  • PHP 8.3 or higher
  • KlickTipp account with API access

Documentation

For detailed documentation, API references, and integration guides, please visit our GitHub repository.

Usage

Use the shortcode to protect content:

[taglock id="1"]Protected content[/taglock]

Shortcode attributes:

  • id (required): TagLocker ID (configured in WordPress admin)
  • message (optional): Custom denied message
  • loader_text (optional): Custom loading text

Admin UI

After connecting your KlickTipp account, TagLock loads your available tags and lets you select them by name while storing their tag IDs internally.

Access Links

Users should open protected pages via links that include their subscriber identifier in the URL hash (not as a query parameter):

https://example.com/protected-page/#taglock_subscriber_id=12345

The frontend stores the identifier in LocalStorage and removes it from the address bar.

Plugin comparisons

See how this plugin stacks up against alternatives side by side.