UniPaywall

12,49

UniPaywall is a simple WordPress plugin that protects content behind a paywall based on WooCommerce purchases. Use a shortcode to hide articles, videos, or files – access is automatically opened after payment. Ideal for sellers of digital content: courses, ebooks, or exclusive materials. Advantages: easy integration, automatic checking of order statuses, support for multiple products and access logic, minimum requirements. Content is available only to customers – no complicated settings.

UniPaywall
UniPaywall
12,49

A simple and reliable paywall for WooCommerce. If you own an online store on WordPress and sell digital content (courses, articles, videos, e-books), UniPaywall will help you protect your materials from free access. The plugin works as a barrier: the content is hidden behind a shortcode , and it is opened only after a successful purchase of the product in WooCommerce. This is a solution for authors, teachers, and merchants who want to monetize content without unnecessary complications.

Unlike complex DRM systems or cumbersome plugins, UniPaywall focuses on simplicity. Install the plugin, specify the product IDs in the shortcode, and the system will check the order status by itself. Support for “any” (access when purchasing at least one product) or “all” (all products are required) logic allows you to create flexible schemes: for example, one content for a course package or separate sections for different products.

What does UniPaywall offer? Full control: access to the content is only for those who have purchased access. The buyer sees the materials only after payment, and unregistered users receive a polite message about the need to log in or purchase.

Automation: the plugin integrates with WooCommerce, checking order statuses (completed, processing, etc., which are configured in the plugin admin). HPOS (High-Performance Order Storage) support for modern Woocommerce stores. No need for additional hooks or custom code.

And if you want to give access or grant it individually manually – no problem. Manually create an order and assign it the required status. You may want to create a separate status for “Bonus” orders in Woocommerce and assign it in such cases.

Flexibility: use multiple products in one paywall, combine with other shortcodes inside a secure block. Possibility of custom messages about the refusal or the need for a login, including HTTP codes for SEO.

Business benefits:

  • Instant access verification without delay.
  • Protection against unauthorized viewing – content is available only to product owners.
  • Easy installation: activate the plugin, configure the allowed order statuses in the admin panel, and insert shortcodes.
  • Security: checking for product returns (refunded items are excluded).

Functionality.

  • Manage access to content through shortcodes. For more details, see the Instructions tab on this page. Shortcodes can be based on a single condition (one product purchased) or on many. For example, if any of the listed IDs was purchased. Or if all of the listed IDs were purchased. Examples can be found in the Manual.
  • Settings: selection of order statuses that provide access.
  • Integration: works with WooCommerce products, supports product variations. Does not depend on product types.
  • Admin panel: a convenient panel for managing the license and settings.
  • License: activation via API for updates.

Localization: The plugin is fully ready for translation (.pot file is included). Supported languages: The package already includes translations into English, Ukrainian, Spanish (Spain/Mexico), Portuguese (Portugal/Brazil), German, French, Italian, Turkish, Romanian, Polish, and Russian. Additional translations can be added upon request.

Specifications.

  • Compatibility: WordPress 5.8+, PHP 7.0+, WooCommerce.
  • Security: checking orders through the database, protection against SQL injections.
  • Performance: optimized queries, caching for fast checking.

You can ask questions about support on this website.

User Guide

Managing shortcodes

Shortcode 1
Shortcode 2
Shortcode 3<\n

Customising messages
If you need to display custom message texts, you can manage them directly within the shortcode.
Output settings (optional)

– deny_message="Text"— text on refusal
– login_message="Text" — text for users who are not logged in
– deny_http_code="403" — when refusing to return an HTTP response (e.g. 403) via `wp_die`

For example:
Shortcode 4