{"id":345617,"date":"2026-08-26T05:04:47","date_gmt":"2026-08-26T05:04:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/age-restriction-manager-for-woocommerce\/"},"modified":"2026-08-26T05:04:26","modified_gmt":"2026-08-26T05:04:26","slug":"byticslab-age-restrictions-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/byticslab-age-restrictions-for-woocommerce\/","author":23538048,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"ByticsLab Age Restrictions for WooCommerce","header_author":"L. K. Lalitesh","header_description":"Mark WooCommerce products as age-restricted and control age-verification warnings, badges, and confirmation modals across your storefront.","assets_banners_color":"805b65","last_updated":"2026-08-26 05:04:26","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/paypal.me\/doublewp","header_plugin_uri":"","header_author_uri":"https:\/\/www.byticslab.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":37,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"tripleten","date":"2026-08-26 05:04:26"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3666262,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3666262,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3666262,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3666262,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3666262,"resolution":"1","location":"assets","locale":"","width":2214,"height":1322},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3666262,"resolution":"2","location":"assets","locale":"","width":2198,"height":1778},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3666262,"resolution":"3","location":"assets","locale":"","width":1870,"height":2066},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3666262,"resolution":"4","location":"assets","locale":"","width":1842,"height":1416},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3666262,"resolution":"5","location":"assets","locale":"","width":2802,"height":2196},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3666262,"resolution":"6","location":"assets","locale":"","width":2790,"height":1868},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3666262,"resolution":"7","location":"assets","locale":"","width":2736,"height":1218},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3666262,"resolution":"8","location":"assets","locale":"","width":2760,"height":2068}},"screenshots":{"1":"Plugin listing page showing settings option","2":"Plugin settings page with age, modal options.","3":"Plugin settings page showing more settings for display, and appearance options.","4":"Age-restricted product checkbox in the WooCommerce product editor.","5":"Age-restriction badge displayed on a WooCommerce product listing.","6":"Age-verification modal shown on a restricted product page.","7":"Cart warning shown when the cart contains an age-restricted product.","8":"Checkout warning shown when the cart contains an age-restricted product."}},"plugin_section":[],"plugin_tags":[70877,41695,5616,277492,286],"plugin_category":[45],"plugin_contributors":[277493],"plugin_business_model":[],"class_list":["post-345617","plugin","type-plugin","status-publish","hentry","plugin_tags-age-gate","plugin_tags-age-restriction","plugin_tags-age-verification","plugin_tags-restricted-products","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-tripleten","plugin_committers-tripleten"],"banners":{"banner":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/banner-772x250.png?rev=3666262","banner_2x":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/banner-1544x500.png?rev=3666262","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/icon-128x128.png?rev=3666262","icon_2x":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/icon-256x256.png?rev=3666262","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/screenshot-1.png?rev=3666262","caption":"Plugin listing page showing settings option"},{"src":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/screenshot-2.png?rev=3666262","caption":"Plugin settings page with age, modal options."},{"src":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/screenshot-3.png?rev=3666262","caption":"Plugin settings page showing more settings for display, and appearance options."},{"src":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/screenshot-4.png?rev=3666262","caption":"Age-restricted product checkbox in the WooCommerce product editor."},{"src":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/screenshot-5.png?rev=3666262","caption":"Age-restriction badge displayed on a WooCommerce product listing."},{"src":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/screenshot-6.png?rev=3666262","caption":"Age-verification modal shown on a restricted product page."},{"src":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/screenshot-7.png?rev=3666262","caption":"Cart warning shown when the cart contains an age-restricted product."},{"src":"https:\/\/ps.w.org\/byticslab-age-restrictions-for-woocommerce\/assets\/screenshot-8.png?rev=3666262","caption":"Checkout warning shown when the cart contains an age-restricted product."}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Mark any simple or variable product as age-restricted from the standard product edit screen \u2014 no new post type, no extra database tables.<\/li>\n<li>Configurable minimum age (18, 21, or any custom value).<\/li>\n<li>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.<\/li>\n<li>Exit button can redirect to the homepage, a custom URL, or any WordPress page.<\/li>\n<li>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.<\/li>\n<li>Optional age-restriction badge on shop\/archive listing pages (e.g. \"18+ Age Restricted\").<\/li>\n<li>Optional warning message below the Add to Cart button on restricted product pages.<\/li>\n<li>Optional warning notice on the Cart and Checkout pages when a restricted product is in the cart \u2014 works with both the classic Cart\/Checkout pages and the block-based Cart\/Checkout.<\/li>\n<li>Configurable colors (badge, warning messages, modal accent) and text size, using the native WordPress color picker \u2014 no CSS editing required.<\/li>\n<li>Translation-ready: every string is wrapped for translation, a <code>.pot<\/code> file is included, and translations are bundled for German, French, Spanish, Swedish, Danish, Norwegian, and Hindi.<\/li>\n<li>Built with the WordPress Settings API, nonces on all form submissions, sanitized\/escaped input and output throughout, and WooCommerce hooks only (no template overrides).<\/li>\n<li>Cache-friendly: the modal is rendered identically for every visitor and toggled purely client-side, so it will not break full-page caching.<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Edit any product and check \"Age-restricted product\" in the Product Data \u2192 General tab.<\/li>\n<li>Configure your minimum age, modal copy, and display options under <strong>WooCommerce \u2192 Age Restriction<\/strong>.<\/li>\n<li>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.<\/li>\n<li>Optional badges and warning messages reinforce the restriction on listing pages, the product page, and cart\/checkout.<\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Upload the <code>byticslab-age-restrictions-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin ZIP via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress. (Activation is blocked with an explanatory message if WooCommerce is not active.)<\/li>\n<li>Go to <strong>WooCommerce \u2192 Age Restriction<\/strong> to configure the minimum age, modal text, exit behavior, and display options.<\/li>\n<li>Edit any product you want to restrict and check <strong>Age-restricted product<\/strong> in the Product Data \u2192 General tab.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20variable%20products%3F\"><h3>Does this work with variable products?<\/h3><\/dt>\n<dd><p>Yes. The age-restricted flag is set at the product level (the parent product), so it applies to simple and variable products alike \u2014 individual variations don't need to be flagged separately.<\/p><\/dd>\n<dt id=\"will%20this%20break%20page%20caching%3F\"><h3>Will this break page caching?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20wpml%2C%20polylang%2C%20or%20loco%20translate%3F\"><h3>Is this compatible with WPML, Polylang, or Loco Translate?<\/h3><\/dt>\n<dd><p>The plugin's own interface strings (labels, buttons, error messages) are wrapped with standard WordPress i18n functions and ship with a <code>.pot<\/code> 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.<\/p>\n\n<p>The <em>content you type into the settings<\/em> (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) \u2014 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.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20settings%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my settings if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Nothing \u2014 settings and product meta are preserved. They are only removed if you delete the plugin from the Plugins screen.<\/p><\/dd>\n<dt id=\"does%20the%20cart%2Fcheckout%20warning%20work%20with%20the%20block-based%20cart%20and%20checkout%20pages%3F\"><h3>Does the cart\/checkout warning work with the block-based Cart and Checkout pages?<\/h3><\/dt>\n<dd><p>Yes. The warning is displayed on both the classic, shortcode-based Cart\/Checkout pages and the block-based Cart and Checkout blocks.<\/p><\/dd>\n<dt id=\"once%20i%20confirm%20my%20age%20on%20one%20product%2C%20do%20i%20have%20to%20confirm%20again%20for%20other%20restricted%20products%3F\"><h3>Once I confirm my age on one product, do I have to confirm again for other restricted products?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"what%20data%20does%20this%20plugin%20store%20in%20cookies%3F\"><h3>What data does this plugin store in cookies?<\/h3><\/dt>\n<dd><p>The plugin sets one cookie, named <code>waarm_age_verified<\/code>, in the visitor's browser when they click the confirmation button on the age-verification modal. It stores only a fixed value (<code>1<\/code>) meaning \"this visitor has confirmed they meet the minimum age\" \u2014 no personal data, no actual age or birthdate, and no tracking identifiers. It expires after the number of days set in <strong>Remember Confirmation For (days)<\/strong> under the plugin settings (or when the browser session ends, if that setting is 0). No other cookies are set by this plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Mark WooCommerce products as age-restricted and control age-verification badges, modals, and warning messages across your storefront.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/345617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=345617"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tripleten"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=345617"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=345617"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=345617"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=345617"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=345617"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=345617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}