Just another contact form plugin. Simple but flexible.
About Age Gate
This plugin allows you to restrict content based on the age of the user, with features such as asking users to verify their age, customizing the input method and order, adding a "remember me" checkbox, and adding your own logo and text. It is also compatible with multilingual plugins.Screenshots








Frequently asked questions
What is the purpose of this plugin?
The purpose of this plugin is to allow you to set a restriction on what content can be seen or restricted based on the age of the user.
What are the features of this plugin?
The features of this plugin include asking users to verify their age on page load, being SEO friendly, allowing custom user agents for less common bots, providing a shortcode for in content restrictions, allowing you to restrict an entire site or selected content, selecting a different age for individual content, allowing certain content to not be age gated under 'all content' mode, providing three choices for input (dropdowns, input fields or a simple yes/no button), customising the order of the inputs based on your region, allowing a 'remember me' checkbox, omitting logged in users from being checked, adding your own logo, updating the text displayed on the entry form, selecting background colour/image, foreground colour and text colour, using built-in styling or your own custom style, adding legal notes or information to the bottom of the form, redirecting failed logins to a URL of your choice, using a non-caching version, and various hooks to add even more customisation.
Is this plugin compatible with multilingual plugins?
Yes, this plugin is compatible with multilingual plugins such as WPML, Polylang (2.3+), and WP Multilang.
Changelog
3.5.3
- Fixed – No rechallenging when using munged options
- Added – PHP title change support for Rank Math SEO
3.5.2
- Fixed – Auto-update was unavailable
3.5.1
- Fixed – Deprecations when using builders
3.5.0
- Removed – deprecated hook fallbacks
- Added – pagination for terms in content settings
- Fixed – Term settings being incorrectly stored when using WPML
3.4.1
- Fixed – Issue in some multilingual sites where settings were incorrectly translated
- Fixed – WOOF/Husky for non query string pages
- Fixed – PageSpeed warnings about polyfills from third-party
3.4.0
- Added – Integration for WOOF/Husky
3.3.3
- Added empty file to fallback view directory
3.3.2
- Changed – VH height css variable
- Fixed – Age Gate meta box displaying on shop orders using HPOS
3.3.1
- Changed – default Age Gate z-index
- Fixed – Long missing headline override settings
- Fixed – Issue with certain transition changes not applying to the JS version
3.3.0
- Fixed – video playback on some devices (playsinline)
- Fixed – Query params stripped when redirecting (standard mode)
- Fixed – markdown not rendering as it should in some locations
- Added – Options to change header elements via settings
- Added – Disable Age Gate option without need for deactivation
- Changed – method of blurring background content
- Removed – obsolete age_gate/presentation/blur/ignore filter
3.2.0
- Added – Option to store data in localStorage instead of cookies
- Added – Filter to final validation rules
- Fixed – Multilingual messages not translating if langauage key is hyphenated
- Fixed – Deprecations in new PHP versions
- Fixed – Issue were some ages would retrigger the modal
- Fixed – Errors in loading text domain
- Fixed – Support for offloaded media
3.1.2
- Fixed – Fatal error under PHP8.1 when storing access settings
- Fixed – Error on activation if administrator role non-existent
3.1.1
- Fixed – URL comparison in Safari
3.1.0
- Added – option to inherit status from ancestors
- Added – option for custom date error message
- Fixed – admin messages showing erroneously
- Fixed – success redirects in JS mode
3.0.13
- Added – polyfill for mbstring
3.0.12
- Fixed – Issue in Standard mode where passing Age Gate would empty shopping cart
3.0.11
- Fixed – Issue where Breeze cache wouldn’t render Age Gate.
- Updated – translation file
3.0.10
- Fixed – Error message translation
- Fixed – Autotabbing when using regions addon
- Fixed – Multilingual messages not translation if langauage is the same
- Fixed – potential error thrown in array flatterning method
- Fixed – Anonymous mode allowing undesired users through
- Fixed – Selects not repopulating in PHP mode
- Added – option to sort select years
- Added – option to render loading icon as image
- Changed – default minimum select year to 1900
- Changed – button submission handler to (hopefully) resolve lingering mobile issues
- Removed – unused admin modal styles
3.0.9
- Fixed – remove buttonshowing even with no image selected
- Added – Legacy hook for age_gate_logo
- Added – New hooks for logo manipulation
3.0.8
- Fixed – Multilingual fields missing since 3.0.6
- Added – CSS Variable –ag-transition-timing
- Changed – CSS Variable –ag-transition to –ag-transition-duration
3.0.7
- Fixed – Wrong input being selected by default when not DDMMYYYY
- Fixed – JS hooks continuously rechallenging users
- Fixed – toolbar toggle inoperable on insecure sites
3.0.6
- Fixed – JS Hook when age gate already passed
- Fixed – JavaScript exit transitions
- Added – AJAX fallback if REST unreachable
- Added – age_gate_hidden JavaScript event
- Changed – Admin nav behaviour
- Changed – Admin validation behaviour
3.0.5
- Fixed – typos in README
- Fixed – additional tools not displaying
- Fixed – per page controls not showing
- Added – checks for dependencies
- Added – filter for cookie domain
- Changed – default cookie domain is current domain
- Changed – cookie name filter
- Changed – default colours in line with v2
- Changed – Legacy hook class name
3.0.4
- Fixed – Restriction display in admin
- Fixed – Implemented new polyfill for Safari event submitter
- Fixed – Phantom validation errors in Content section
- Fixed – Double escaping in buttons prompt
- Added – cleanup for previous cron schedule
- Changed – Removed use of PHP short tags
3.0.3
- Fixed – Fatal error under some settings combination
- Fixed – Hide display of default scrollbar
3.0.2
- Fixed – 0 valued opacity not being reflected on the site
- Fixed – iOS Safari scrolling when Age Gate visible
- Fixed – Older versions of Safari not operating with buttons
- Fixed – Inability to store appearance settings
- Fixed – Improved data sanitation
- Fixed – Custom title output in js/munge mode
- Added – CSS variable for loader colour
- Added – Default post types to ignore in admin e.g. shop orders or attachment
- Changed – Default max-width on logo to be 100%
- Changed – Button styles prefixed with element
- Changed – Cookie length filter to be time and length
3.0.1
- Added – Standard cookie length filter age_gate/cookie/length
- Added – PHP version check message
- Fixed – per content toggle display incorrect status
- Fixed – minor stylistic elements for wider default support
- Fixed – Javascript error in focus trap when using buttons
- Fixed – Excessively strict validation rules
- Fixed – Escaped characters showing on front end
- Removed – API Error warning as return false flags
- Removed – Unused API endpoint
3.0.0
- Complete rewrite
- Improved Taxonomy inheritance
- Removed: Use of admin-ajax in JS mode
- Removed: Custom CSS editor
- Removed: jQuery dependencies
- Changed: Custom editor to support markdown and be stricter
- Added: Ability to override templates in theme
- Added: Easily add classes and other attributes
- Added: Option to load Age Gate earlier in the DOM
- Various performance and security improvements