{"id":195529,"date":"2024-07-11T16:46:02","date_gmt":"2024-07-11T16:46:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/advanced-email-domain-restriction\/"},"modified":"2026-02-22T16:12:01","modified_gmt":"2026-02-22T16:12:01","slug":"advanced-email-domain-restriction","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/advanced-email-domain-restriction\/","author":17633541,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.0","stable_tag":"1.3.0","tested":"6.9.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Advanced Email Domain Restriction","header_author":"Md Siddiqur Rahman","header_description":"Allow email domains for user registrations with custom messages.","assets_banners_color":"0047ff","last_updated":"2026-02-22 16:12:01","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/imsiddiqur","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/advanced-email-domain-restriction","header_author_uri":"https:\/\/siddiqur.com","rating":5,"author_block_rating":0,"active_installs":50,"downloads":1451,"num_ratings":1,"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":"rockscoder","date":"2024-07-24 05:18:09"},"1.1.0":{"tag":"1.1.0","author":"rockscoder","date":"2025-04-15 17:33:44"},"1.2.0":{"tag":"1.2.0","author":"rockscoder","date":"2026-02-22 15:29:42"},"1.3.0":{"tag":"1.3.0","author":"rockscoder","date":"2026-02-22 16:12:01"}},"upgrade_notice":{"1.3.0":"<p>New matching options: Support for TLD-based and full email address restriction.<\/p>","1.2.0":"<p>Major update: CSV Bulk Upload\/Export, Clean Architecture refactoring, and Security Hardening.<\/p>","1.1.0":"<p>Now support WooCommerce customer registration email domain check.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3116586,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3116586,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3116586,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3116586,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3116586,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Settings Page","2":"Registration Form","3":"Custom Error Message"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[555,267,603,1505,286],"plugin_category":[58],"plugin_contributors":[229515],"plugin_business_model":[],"class_list":["post-195529","plugin","type-plugin","status-publish","hentry","plugin_tags-domain","plugin_tags-email","plugin_tags-registration","plugin_tags-restriction","plugin_tags-woocommerce","plugin_category-user-management","plugin_contributors-rockscoder","plugin_committers-rockscoder"],"banners":{"banner":"https:\/\/ps.w.org\/advanced-email-domain-restriction\/assets\/banner-772x250.png?rev=3116586","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/advanced-email-domain-restriction\/assets\/icon-256x256.png?rev=3116586","icon_2x":"https:\/\/ps.w.org\/advanced-email-domain-restriction\/assets\/icon-256x256.png?rev=3116586","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/advanced-email-domain-restriction\/assets\/screenshot-1.png?rev=3116586","caption":"Settings Page"},{"src":"https:\/\/ps.w.org\/advanced-email-domain-restriction\/assets\/screenshot-2.png?rev=3116586","caption":"Registration Form"},{"src":"https:\/\/ps.w.org\/advanced-email-domain-restriction\/assets\/screenshot-3.png?rev=3116586","caption":"Custom Error Message"}],"raw_content":"<!--section=description-->\n<p>The <strong>Advanced Email Domain Restriction<\/strong> plugin provides a lightweight but powerful way to control which email domains are allowed to register on your WordPress site.<\/p>\n\n<h3>Key Features:<\/h3>\n\n<ul>\n<li><strong>Allow-list Only<\/strong>: Restrict registrations to a specific list of trusted domains.<\/li>\n<li><strong>Bulk Upload<\/strong>: Import large lists of domains via CSV.<\/li>\n<li><strong>Domain Export<\/strong>: Download your allowed domains list for backup or analysis.<\/li>\n<li><strong>WooCommerce Support<\/strong>: Fully compatible with WooCommerce customer registration.<\/li>\n<li><strong>Form Plugin Support<\/strong>: Automatically validate email fields in <strong>Contact Form 7<\/strong>, <strong>WPForms<\/strong>, and <strong>Elementor Pro<\/strong> forms.<\/li>\n<li><strong>TLD &amp; Full Email Support<\/strong>: Restrict registrations to specific TLDs (e.g., .com) or specific email addresses (e.g., user@example.com).<\/li>\n<li><strong>Case-Insensitive<\/strong>: Matches <code>gmail.com<\/code> regardless of how the user types it.<\/li>\n<li><strong>Custom Messages<\/strong>: Define your own error messages for restricted domains.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/advanced-email-domain-restriction<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Use the Settings-&gt; Domain Restriction screen to configure the plugin.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20customize%20error%20messages%3F\"><h3>How do I customize error messages?<\/h3><\/dt>\n<dd><p>You can customize the error messages for allowed and restricted domains in the plugin settings under the \"Custom Messages\" section.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Feature: Added support for TLD-based matching (e.g., allow all emails from <code>.cz<\/code>).<\/li>\n<li>Feature: Added support for full email address matching (e.g., allow <code>user@example.com<\/code>).<\/li>\n<li>Enhancement: Updated Admin UI with clearer descriptions and placeholders for new matching types.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Feature: Added Support for <strong>WPForms<\/strong> and <strong>Elementor Pro<\/strong> email field validation.<\/li>\n<li>Feature: Added Support for <strong>Contact Form 7<\/strong> email field validation.<\/li>\n<li>Feature: Added Export to CSV feature for allowed domains.<\/li>\n<li>Feature: Added CSV Bulk Upload for allowed domains.<\/li>\n<li>Feature: Added client-side and server-side validation for file uploads.<\/li>\n<li>Security: Hardened plugin with nonce and capability checks.<\/li>\n<li>Security: Applied late escaping throughout the admin interface.<\/li>\n<li>Security: Hardened CSV import logic against large files and malicious content.<\/li>\n<li>Bug Fix: Fixed WooCommerce registration errors hook (changed from action to filter).<\/li>\n<li>Enhancement: Added case-insensitive domain validation support.<\/li>\n<li>Enhancement: Refactored to Clean Architecture (separated Validator and CSV Processor).<\/li>\n<li>Enhancement: Settings are now cached for better performance.<\/li>\n<li>Improvement: Cleaned up code and improved domain sanitization.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>WooCommerce customer registration email domain check support added.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release with support for allowed domains and custom error messages.<\/li>\n<\/ul>","raw_excerpt":"Restrict user registrations to specific domains, TLDs, or email addresses. Includes CSV import\/export and WooCommerce support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/195529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=195529"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rockscoder"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=195529"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=195529"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=195529"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=195529"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=195529"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=195529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}