Title: ByticsLab Age Restrictions for WooCommerce
Author: Abhishek Jha
Published: <strong>August 26, 2026</strong>
Last modified: August 26, 2026

---

Search plugins

![](https://ps.w.org/byticslab-age-restrictions-for-woocommerce/assets/banner-772x250.
png?rev=3666262)

![](https://ps.w.org/byticslab-age-restrictions-for-woocommerce/assets/icon-256x256.
png?rev=3666262)

# ByticsLab Age Restrictions for WooCommerce

 By [Abhishek Jha](https://profiles.wordpress.org/tripleten/)

[Download](https://downloads.wordpress.org/plugin/byticslab-age-restrictions-for-woocommerce.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/byticslab-age-restrictions-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/byticslab-age-restrictions-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/byticslab-age-restrictions-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/byticslab-age-restrictions-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/byticslab-age-restrictions-for-woocommerce/)

## Description

ByticsLab Age Restrictions for WooCommerce lets you mark individual products (alcohol,
tobacco, adult content, age-restricted supplements, etc.) as age-restricted and 
configure exactly how age verification is presented to visitors.

**Features**

 * Mark any simple or variable product as age-restricted from the standard product
   edit screen — no new post type, no extra database tables.
 * Configurable minimum age (18, 21, or any custom value).
 * A responsive, accessible age-verification modal shown on restricted product pages
   before the content is visible, with a configurable title, message, minimum age,
   confirm button, and exit button.
 * Exit button can redirect to the homepage, a custom URL, or any WordPress page.
 * Visitor confirmation is remembered via a lightweight cookie for a configurable
   number of days (or just the current browser session), so the modal doesn’t repeat
   on every page view.
 * Optional age-restriction badge on shop/archive listing pages (e.g. “18+ Age Restricted”).
 * Optional warning message below the Add to Cart button on restricted product pages.
 * Optional warning notice on the Cart and Checkout pages when a restricted product
   is in the cart — works with both the classic Cart/Checkout pages and the block-
   based Cart/Checkout.
 * Configurable colors (badge, warning messages, modal accent) and text size, using
   the native WordPress color picker — no CSS editing required.
 * Translation-ready: every string is wrapped for translation, a `.pot` file is 
   included, and translations are bundled for German, French, Spanish, Swedish, 
   Danish, Norwegian, and Hindi.
 * Built with the WordPress Settings API, nonces on all form submissions, sanitized/
   escaped input and output throughout, and WooCommerce hooks only (no template 
   overrides).
 * Cache-friendly: the modal is rendered identically for every visitor and toggled
   purely client-side, so it will not break full-page caching.

#### How it works

 1. Edit any product and check “Age-restricted product” in the Product Data  General
    tab.
 2. Configure your minimum age, modal copy, and display options under **WooCommerce
    Age Restriction**.
 3. Visitors who open a restricted product page see the age-verification modal first.
    Confirming lets them view the page (remembered via cookie); exiting redirects them
    away.
 4. Optional badges and warning messages reinforce the restriction on listing pages,
    the product page, and cart/checkout.

## Screenshots

[⌊Plugin listing page showing settings option⌉⌊Plugin listing page showing settings
option⌉[

Plugin listing page showing settings option

[⌊Plugin settings page with age, modal options.⌉⌊Plugin settings page with age, 
modal options.⌉[

Plugin settings page with age, modal options.

[⌊Plugin settings page showing more settings for display, and appearance options.⌉⌊
Plugin settings page showing more settings for display, and appearance options.⌉[

Plugin settings page showing more settings for display, and appearance options.

[⌊Age-restricted product checkbox in the WooCommerce product editor.⌉⌊Age-restricted
product checkbox in the WooCommerce product editor.⌉[

Age-restricted product checkbox in the WooCommerce product editor.

[⌊Age-restriction badge displayed on a WooCommerce product listing.⌉⌊Age-restriction
badge displayed on a WooCommerce product listing.⌉[

Age-restriction badge displayed on a WooCommerce product listing.

[⌊Age-verification modal shown on a restricted product page.⌉⌊Age-verification modal
shown on a restricted product page.⌉[

Age-verification modal shown on a restricted product page.

[⌊Cart warning shown when the cart contains an age-restricted product.⌉⌊Cart warning
shown when the cart contains an age-restricted product.⌉[

Cart warning shown when the cart contains an age-restricted product.

[⌊Checkout warning shown when the cart contains an age-restricted product.⌉⌊Checkout
warning shown when the cart contains an age-restricted product.⌉[

Checkout warning shown when the cart contains an age-restricted product.

## Installation

 1. Make sure WooCommerce is installed and active.
 2. Upload the `byticslab-age-restrictions-for-woocommerce` folder to `/wp-content/
    plugins/`, or install the plugin ZIP via **Plugins  Add New  Upload Plugin**.
 3. Activate the plugin through the **Plugins** menu in WordPress. (Activation is blocked
    with an explanatory message if WooCommerce is not active.)
 4. Go to **WooCommerce  Age Restriction** to configure the minimum age, modal text,
    exit behavior, and display options.
 5. Edit any product you want to restrict and check **Age-restricted product** in the
    Product Data  General tab.

## FAQ

### Does this work with variable products?

Yes. The age-restricted flag is set at the product level (the parent product), so
it applies to simple and variable products alike — individual variations don’t need
to be flagged separately.

### Will this break page caching?

No. The modal markup is rendered identically for every visitor; a small script decides
whether to display it based on a client-side cookie. The server never renders different
HTML per visitor, so full-page caching plugins and CDNs are unaffected.

### Is this compatible with WPML, Polylang, or Loco Translate?

The plugin’s own interface strings (labels, buttons, error messages) are wrapped
with standard WordPress i18n functions and ship with a `.pot` file, so tools like
Loco Translate can translate the plugin UI immediately, and WPML/Polylang can translate
it as a standard text-domain-based plugin.

The _content you type into the settings_ (modal title/message, warning text, badge
text) is stored as plain option values, which are not automatically per-language.
To show different wording per language for that content, register the relevant option
fields with your multilingual plugin’s string translation feature (e.g. WPML’s String
Translation, or Polylang’s settings translation) — this has not been pre-wired or
tested against every multilingual plugin/version combination, so please verify on
your setup before relying on it in production.

### What happens to my settings if I deactivate the plugin?

Nothing — settings and product meta are preserved. They are only removed if you 
delete the plugin from the Plugins screen.

### Does the cart/checkout warning work with the block-based Cart and Checkout pages?

Yes. The warning is displayed on both the classic, shortcode-based Cart/Checkout
pages and the block-based Cart and Checkout blocks.

### Once I confirm my age on one product, do I have to confirm again for other restricted products?

No. The confirmation is remembered site-wide (via a single cookie) for the configured
number of days, not per product. Once you confirm on any age-restricted product,
you won’t see the modal again on other restricted products until the cookie expires
or is cleared.

### What data does this plugin store in cookies?

The plugin sets one cookie, named `waarm_age_verified`, in the visitor’s browser
when they click the confirmation button on the age-verification modal. It stores
only a fixed value (`1`) meaning “this visitor has confirmed they meet the minimum
age” — no personal data, no actual age or birthdate, and no tracking identifiers.
It expires after the number of days set in **Remember Confirmation For (days)** 
under the plugin settings (or when the browser session ends, if that setting is 
0). No other cookies are set by this plugin.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“ByticsLab Age Restrictions for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Abhishek Jha ](https://profiles.wordpress.org/tripleten/)

[Translate “ByticsLab Age Restrictions for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/byticslab-age-restrictions-for-woocommerce)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [age gate](https://wordpress.org/plugins/tags/age-gate/)[age restriction](https://wordpress.org/plugins/tags/age-restriction/)
   [age verification](https://wordpress.org/plugins/tags/age-verification/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/byticslab-age-restrictions-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/byticslab-age-restrictions-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/byticslab-age-restrictions-for-woocommerce/reviews/)

## Contributors

 *   [ Abhishek Jha ](https://profiles.wordpress.org/tripleten/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/byticslab-age-restrictions-for-woocommerce/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://paypal.me/doublewp)