{"id":117966,"date":"2020-03-03T04:43:44","date_gmt":"2020-03-03T04:43:44","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/customer-email-verification-for-woocommerce\/"},"modified":"2026-09-07T13:31:02","modified_gmt":"2026-09-07T13:31:02","slug":"customer-email-verification-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/vec.wordpress.org\/plugins\/customer-email-verification-for-woocommerce\/","author":12542343,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.8.1","stable_tag":"2.8.1","tested":"7.1","requires":"5.3","requires_php":"7.2","requires_plugins":null,"header_name":"Customer Email Verification for WooCommerce","header_author":"zorem","header_description":"This plugin Customer Email verification for WooCommerce will reduce registration spam in your store and verifies the email address of the customers by sending a verification link to the email address that they registered to their accounts. You can allow the customer to be able to log in to their account when they registered and to require them to verify the email for next logins or restrict access the my-account area to users that verified their accounts.","assets_banners_color":"f4f7ff","last_updated":"2026-09-07 13:31:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.zorem.com\/products\/customer-email-verification-for-woocommerce\/","header_author_uri":"https:\/\/www.zorem.com","rating":4.2,"author_block_rating":0,"active_installs":2000,"downloads":70856,"num_ratings":20,"support_threads":4,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"zorem","date":"2020-03-05 13:24:33","revision":2255090},"1.0.1":{"tag":"1.0.1","author":"zorem","date":"2020-03-20 11:16:16","revision":2264448},"1.0.2":{"tag":"1.0.2","author":"zorem","date":"2020-04-03 13:31:23","revision":2275029},"1.0.3":{"tag":"1.0.3","author":"zorem","date":"2020-04-11 07:42:01","revision":2281307},"1.0.4":{"tag":"1.0.4","author":"zorem","date":"2020-04-13 14:22:56","revision":2282465},"1.0.5":{"tag":"1.0.5","author":"zorem","date":"2020-04-15 05:12:02","revision":2283795},"1.0.6":{"tag":"1.0.6","author":"zorem","date":"2020-04-16 10:42:15","revision":2284810},"1.0.7":{"tag":"1.0.7","author":"zorem","date":"2020-04-22 12:03:18","revision":2289225},"1.0.8":{"tag":"1.0.8","author":"zorem","date":"2020-05-29 13:16:03","revision":2314446},"1.0.9":{"tag":"1.0.9","author":"zorem","date":"2020-06-30 04:54:25","revision":2332700},"1.1":{"tag":"1.1","author":"zorem","date":"2020-08-19 13:48:41","revision":2364940},"1.2":{"tag":"1.2","author":"zorem","date":"2020-09-09 04:42:23","revision":2377615},"1.3":{"tag":"1.3","author":"zorem","date":"2020-12-09 05:03:44","revision":2434953},"1.3.1":{"tag":"1.3.1","author":"zorem","date":"2021-01-21 05:50:07","revision":2460114},"1.3.2":{"tag":"1.3.2","author":"zorem","date":"2021-01-28 13:19:53","revision":2464280},"1.3.3":{"tag":"1.3.3","author":"zorem","date":"2021-02-08 05:31:39","revision":2470582},"1.3.4":{"tag":"1.3.4","author":"zorem","date":"2021-03-02 04:45:21","revision":2484024},"1.3.5":{"tag":"1.3.5","author":"zorem","date":"2021-04-15 10:37:51","revision":2515551},"1.3.6":{"tag":"1.3.6","author":"zorem","date":"2021-04-16 05:43:18","revision":2516061},"1.3.7":{"tag":"1.3.7","author":"zorem","date":"2021-04-23 12:03:06","revision":2520375},"1.3.8":{"tag":"1.3.8","author":"zorem","date":"2021-06-25 12:49:38","revision":2553919},"1.3.9":{"tag":"1.3.9","author":"zorem","date":"2021-07-29 08:42:25","revision":2574515},"1.4":{"tag":"1.4","author":"zorem","date":"2021-08-31 10:42:21","revision":2591419},"1.4.1":{"tag":"1.4.1","author":"zorem","date":"2022-10-07 10:48:12","revision":2795590},"1.6":{"tag":"1.6","author":"zorem","date":"2023-11-22 05:34:29","revision":2999873},"1.7":{"tag":"1.7","author":"zorem","date":"2024-05-30 09:38:04","revision":3095052},"1.8":{"tag":"1.8","author":"zorem","date":"2024-05-30 09:54:11","revision":3095060},"2.0":{"tag":"2.0","author":"gaurav1092","date":"2024-09-05 11:13:15","revision":3146950},"2.1":{"tag":"2.1","author":"gaurav1092","date":"2024-12-04 07:18:28","revision":3202106},"2.2":{"tag":"2.2","author":"gaurav1092","date":"2025-02-13 09:00:21","revision":3239934},"2.3":{"tag":"2.3","author":"gaurav1092","date":"2025-02-19 10:31:36","revision":3243141},"2.4":{"tag":"2.4","author":"gaurav1092","date":"2025-02-21 06:01:22","revision":3244247},"2.5":{"tag":"2.5","author":"gaurav1092","date":"2025-02-28 09:05:44","revision":3248301},"2.6":{"tag":"2.6","author":"gaurav1092","date":"2025-04-01 12:07:31","revision":3265081},"2.6.1":{"tag":"2.6.1","author":"gaurav1092","date":"2025-04-16 12:46:46","revision":3274699},"2.6.2":{"tag":"2.6.2","author":"gaurav1092","date":"2025-06-05 04:58:35","revision":3306811},"2.6.3":{"tag":"2.6.3","author":"gaurav1092","date":"2025-07-11 09:48:07","revision":3326178},"2.6.4":{"tag":"2.6.4","author":"gaurav1092","date":"2025-07-28 11:25:38","revision":3335323},"2.6.5":{"tag":"2.6.5","author":"gaurav1092","date":"2025-09-19 05:30:18","revision":3364323},"2.6.6":{"tag":"2.6.6","author":"yashpatel1007","date":"2025-10-29 12:44:06","revision":3386434},"2.6.7":{"tag":"2.6.7","author":"yashpatel1007","date":"2025-12-18 06:12:01","revision":3422532},"2.6.8":{"tag":"2.6.8","author":"yashpatel1007","date":"2026-02-12 10:02:57","revision":3459757},"2.6.9":{"tag":"2.6.9","author":"yashpatel1007","date":"2026-02-17 05:37:23","revision":3463059},"2.7":{"tag":"2.7","author":"yashpatel1007","date":"2026-05-04 10:46:46","revision":3522239},"2.8":{"tag":"2.8","author":"gaurav1092","date":"2026-09-07 11:20:36","revision":3684729},"2.8.1":{"tag":"2.8.1","author":"yashpatel1007","date":"2026-09-07 13:31:02","revision":3685011}},"upgrade_notice":[],"ratings":{"1":4,"2":0,"3":0,"4":0,"5":16},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3645422,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3645422,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3645422,"resolution":"772x250","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1","1.2","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.8","1.3.9","1.4","1.4.1","1.6","1.7","1.8","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.6.1","2.6.2","2.6.3","2.6.4","2.6.5","2.6.6","2.6.7","2.6.8","2.6.9","2.7","2.8","2.8.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3686748,"resolution":"1","location":"assets","locale":"","width":1700,"height":2720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3248325,"resolution":"2","location":"assets","locale":"","width":1568,"height":735},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3248325,"resolution":"3","location":"assets","locale":"","width":1598,"height":889},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3248325,"resolution":"4","location":"assets","locale":"","width":1598,"height":889},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3686748,"resolution":"5","location":"assets","locale":"","width":1715,"height":1204},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3248325,"resolution":"6","location":"assets","locale":"","width":874,"height":363},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3686748,"resolution":"7","location":"assets","locale":"","width":1712,"height":1079}},"screenshots":[]},"plugin_section":[],"plugin_tags":[228220,18971,603,599,286],"plugin_category":[45],"plugin_contributors":[231371,219635,231379,162239],"plugin_business_model":[],"class_list":["post-117966","plugin","type-plugin","status-publish","hentry","plugin_tags-customer-verification","plugin_tags-email-verification","plugin_tags-registration","plugin_tags-spam","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-eranzorem","plugin_contributors-gaurav1092","plugin_contributors-yashpatel1007","plugin_contributors-zorem","plugin_committers-gaurav1092","plugin_committers-yashpatel1007","plugin_committers-zorem","plugin_support_reps-zoremsupport"],"banners":{"banner":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/banner-772x250.png?rev=3645422","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/icon-128x128.png?rev=3645422","icon_2x":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/icon-256x256.png?rev=3645422","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/screenshot-1.png?rev=3686748","caption":""},{"src":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/screenshot-2.png?rev=3248325","caption":""},{"src":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/screenshot-3.png?rev=3248325","caption":""},{"src":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/screenshot-4.png?rev=3248325","caption":""},{"src":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/screenshot-5.png?rev=3686748","caption":""},{"src":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/screenshot-6.png?rev=3248325","caption":""},{"src":"https:\/\/ps.w.org\/customer-email-verification-for-woocommerce\/assets\/screenshot-7.png?rev=3686748","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Customer Email Verification for WooCommerce<\/strong> stops fake accounts and spam registrations at the source. When a customer tries to register on your WooCommerce store, they must verify their email address with a one-time OTP code before their account is created \u2014 no unverified accounts, no disposable emails slipping through.<\/p>\n\n<p>The verification popup appears seamlessly during registration, the OTP is sent immediately via WooCommerce's email system, and accounts are only created after successful verification. Setup takes minutes, requires no coding, and works out of the box with WooCommerce's standard registration flow.<\/p>\n\n<p><strong>HPOS Compatible<\/strong> \u00b7 <strong>2,000+ Active Stores<\/strong> \u00b7 <strong>Free &amp; Open Source<\/strong><\/p>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>A customer enters their email and clicks to register on your WooCommerce store.<\/li>\n<li>A verification popup appears and an OTP code is sent to their email address immediately.<\/li>\n<li>The customer enters the OTP. If correct, their account is created. If not verified, no account is created.<\/li>\n<\/ol>\n\n<p>Fake email addresses fail at step 2. Disposable addresses that receive the OTP but belong to bots are stopped at step 3.<\/p>\n\n<h4>What's Included in the Free Version<\/h4>\n\n<ul>\n<li><strong>OTP-based email verification at registration<\/strong> \u2014 Customers must verify their email with a one-time code before their WooCommerce account is created. No verification, no account.<\/li>\n<li><strong>Verification popup on the registration form<\/strong> \u2014 A modal popup appears instantly after the customer enters their email, prompting them to check their inbox and enter the OTP. No page reload required.<\/li>\n<li><strong>Resend OTP option<\/strong> \u2014 Customers can request a new OTP if they didn't receive the first one.<\/li>\n<li><strong>Customizable verification popup<\/strong> \u2014 Modify the popup's design, colors, and messages to match your store's branding using the built-in live preview customizer.<\/li>\n<li><strong>Customizable verification email<\/strong> \u2014 Edit the OTP email subject, heading, and message content to match your brand voice.<\/li>\n<li><strong>Admin verification management<\/strong> \u2014 View and manage email verification statuses for all users from the WordPress Users admin panel. Manually verify or re-send verification emails in bulk.<\/li>\n<li><strong>Role-based verification skipping<\/strong> \u2014 Exclude specific user roles (e.g. administrators, shop managers) from the verification requirement.<\/li>\n<li><strong>Redirect after verification<\/strong> \u2014 Send customers to any page of your choice after successful email verification.<\/li>\n<li><strong>HPOS Compatible<\/strong> \u2014 Fully compatible with WooCommerce High-Performance Order Storage.<\/li>\n<\/ul>\n\n<h4>Free vs PRO \u2014 What's the Difference?<\/h4>\n\n<p>CEV Free covers registration verification. CEV PRO adds checkout verification, login authentication, and advanced security controls for stores that need stronger protection.<\/p>\n\n<p><strong>CEV Free includes:<\/strong><\/p>\n\n<ul>\n<li>OTP email verification at registration<\/li>\n<li>Verification popup on the registration form<\/li>\n<li>Resend OTP option<\/li>\n<li>Customizable popup design and messages<\/li>\n<li>Customizable verification email template<\/li>\n<li>Admin verification management panel<\/li>\n<li>Role-based verification skipping<\/li>\n<li>Post-verification redirect<\/li>\n<li>HPOS compatible<\/li>\n<\/ul>\n\n<p><strong>CEV PRO adds:<\/strong><\/p>\n\n<ul>\n<li><strong>OTP verification at checkout<\/strong> \u2014 Require guest users to verify their email before completing a purchase, blocking fake orders at checkout.<\/li>\n<li><strong>Cart page verification<\/strong> \u2014 Optionally trigger email verification from the cart page, before the customer even reaches checkout.<\/li>\n<li><strong>OTP length control<\/strong> \u2014 Choose between 4-digit and 6-digit OTP codes.<\/li>\n<li><strong>OTP expiration time<\/strong> \u2014 Set how long OTP codes remain valid (e.g. 15 minutes, 72 hours) to balance security and convenience.<\/li>\n<li><strong>Resend attempt limit<\/strong> \u2014 Cap the number of OTP resend requests per session to prevent abuse.<\/li>\n<li><strong>Login authentication (2FA)<\/strong> \u2014 Require OTP verification when a customer logs in from an unrecognized device or browser, adding a second factor to your WooCommerce login.<\/li>\n<li><strong>New device\/location detection<\/strong> \u2014 Define what counts as an unrecognized login \u2014 new device, new browser, new location, or after a set period of inactivity.<\/li>\n<li><strong>Advanced email and popup customization<\/strong> \u2014 Additional control over OTP email templates and verification popup styling.<\/li>\n<li><strong>Priority support<\/strong> \u2014 Faster, dedicated assistance from the Zorem team.<\/li>\n<\/ul>\n\n<p>\ud83d\udc49 <a href=\"https:\/\/www.zorem.com\/product\/customer-email-verification\/\">Get CEV PRO<\/a><\/p>\n\n<h4>Compatible With<\/h4>\n\n<p>Customer Email Verification is built to work smoothly with plugins that follow WooCommerce's standard registration and checkout templates. The following plugins have been tested and confirmed compatible:<\/p>\n\n<ul>\n<li><strong>Checkout builders<\/strong> \u2014 Checkout WC, WooCommerce Checkout &amp; Funnel Builder by CartFlows<\/li>\n<li><strong>Social login<\/strong> \u2014 WooCommerce Social Login, Nextend Social Login and Register<\/li>\n<li><strong>Memberships<\/strong> \u2014 WooCommerce Memberships<\/li>\n<li><strong>Affiliates<\/strong> \u2014 Affiliate For WooCommerce<\/li>\n<li><strong>Store management<\/strong> \u2014 Smart Manager, Cashier<\/li>\n<li><strong>Multilingual<\/strong> \u2014 WPML<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/docs.zorem.com\/docs\/customer-email-verification-free\/compatibility\/\">Full compatibility list \u2192<\/a><\/p>\n\n<h4>Documentation &amp; Support<\/h4>\n\n<ul>\n<li>\ud83d\udcd6 <a href=\"https:\/\/docs.zorem.com\/docs\/customer-email-verification-free\/\">Full documentation and setup guides<\/a><\/li>\n<li>\ud83d\udcac <a href=\"https:\/\/wordpress.org\/support\/plugin\/customer-email-verification-for-woocommerce\/\">WordPress.org support forum<\/a><\/li>\n<\/ul>\n\n<h4>More Plugins by Zorem<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/www.zorem.com\/product\/woocommerce-advanced-shipment-tracking\/\">Advanced Shipment Tracking for WooCommerce<\/a> \u2014 The #1 WooCommerce shipment tracking plugin. Trusted by 80,000+ stores.<\/li>\n<li><a href=\"https:\/\/www.zorem.com\/product\/sms-for-woocommerce\/\">SMS for WooCommerce<\/a> \u2014 Automated SMS order and shipping notifications via Twilio, WhatsApp, and 18 other providers.<\/li>\n<li><a href=\"https:\/\/www.zorem.com\/product\/zorem-local-pickup-pro\/\">Local Pickup PRO<\/a> \u2014 Advanced local pickup with multiple locations, appointment scheduling, and ready-for-pickup notifications.<\/li>\n<li><a href=\"https:\/\/www.zorem.com\/product\/country-based-restriction-pro\/\">Country Based Restrictions PRO<\/a> \u2014 Restrict products and payment gateways by customer country using WooCommerce geolocation.<\/li>\n<li><a href=\"https:\/\/www.zorem.com\/product\/zorem-returns\/\">Zorem Returns<\/a> \u2014 Self-service returns, exchanges, and store credit management for WooCommerce.<\/li>\n<\/ul>\n\n<p>Explore the full catalog at <a href=\"https:\/\/www.zorem.com\/\">zorem.com \u2192<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong> in your WordPress admin and search for \"Customer Email Verification for WooCommerce\".<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>WooCommerce &gt; Email Verification<\/strong> to configure the verification settings, customize the popup and email, and set any role exclusions.<\/li>\n<li>Test the flow by visiting your registration page \u2014 the verification popup should appear after entering an email address.<\/li>\n<\/ol>\n\n<p>Alternatively, upload the <code>customer-email-verification-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code> and activate through the Plugins menu.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20does%20the%20otp%20verification%20work%3F\"><h3>How does the OTP verification work?<\/h3><\/dt>\n<dd><p>When a customer enters their email on the WooCommerce registration form and submits, a verification popup appears and a one-time OTP code is sent to their email address. The customer enters the code in the popup. If it matches, their account is created. If they close the popup or enter the wrong code, no account is created. This ensures every registered account has a valid, accessible email address.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20customer%20doesn%27t%20receive%20the%20otp%20email%3F\"><h3>What happens if a customer doesn't receive the OTP email?<\/h3><\/dt>\n<dd><p>The plugin includes a \"Resend OTP\" option in the verification popup. The customer can click to request a new code. Make sure your WooCommerce store has a reliable transactional email setup (SMTP plugin recommended) to ensure OTP emails are delivered.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20look%20of%20the%20verification%20popup%3F\"><h3>Can I customize the look of the verification popup?<\/h3><\/dt>\n<dd><p>Yes. The plugin includes a built-in live preview customizer where you can change the popup colors, text, and messages without writing any code.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20otp%20email%20that%20gets%20sent%20to%20customers%3F\"><h3>Can I customize the OTP email that gets sent to customers?<\/h3><\/dt>\n<dd><p>Yes. The OTP email subject line, heading, and body content are all editable from the plugin settings. The email is sent via WooCommerce's email system, so it inherits your store's email branding (header, logo, footer).<\/p><\/dd>\n<dt id=\"can%20i%20skip%20verification%20for%20administrators%20or%20shop%20managers%3F\"><h3>Can I skip verification for administrators or shop managers?<\/h3><\/dt>\n<dd><p>Yes. The role-based skipping feature lets you exclude any user role from the email verification requirement. Administrators, shop managers, and any custom roles can be excluded.<\/p><\/dd>\n<dt id=\"can%20i%20verify%20guest%20checkout%20customers%20%28not%20just%20registered%20users%29%3F\"><h3>Can I verify guest checkout customers (not just registered users)?<\/h3><\/dt>\n<dd><p>Guest checkout OTP verification \u2014 requiring email verification before a guest can complete a purchase \u2014 is available in <a href=\"https:\/\/www.zorem.com\/product\/customer-email-verification\/\">CEV PRO<\/a>.<\/p><\/dd>\n<dt id=\"can%20i%20require%20otp%20verification%20at%20login%20%282fa%29%3F\"><h3>Can I require OTP verification at login (2FA)?<\/h3><\/dt>\n<dd><p>Login authentication with OTP verification for unrecognized devices or browsers is available in <a href=\"https:\/\/www.zorem.com\/product\/customer-email-verification\/\">CEV PRO<\/a>.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20social%20login%20plugins%3F\"><h3>Does this work with social login plugins?<\/h3><\/dt>\n<dd><p>Yes. CEV is compatible with WooCommerce Social Login and Nextend Social Login and Register. See the <a href=\"https:\/\/docs.zorem.com\/docs\/customer-email-verification-free\/compatibility\/\">full compatibility list<\/a> for details.<\/p><\/dd>\n<dt id=\"is%20cev%20compatible%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Is CEV compatible with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. Customer Email Verification is fully compatible with WooCommerce High-Performance Order Storage (custom order tables).<\/p><\/dd>\n<dt id=\"does%20cev%20work%20with%20wpml%20for%20multilingual%20stores%3F\"><h3>Does CEV work with WPML for multilingual stores?<\/h3><\/dt>\n<dd><p>Yes. CEV has been tested with WPML and the plugin strings are translatable.<\/p><\/dd>\n<dt id=\"can%20i%20bulk-verify%20users%20or%20resend%20verification%20emails%20in%20bulk%3F\"><h3>Can I bulk-verify users or resend verification emails in bulk?<\/h3><\/dt>\n<dd><p>Yes. From the WordPress Users admin panel, you can select multiple users and use the bulk actions to manually verify their email addresses or resend verification emails.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.8.1<\/h4>\n\n<ul>\n<li>Fix \u2013 Register button on the My Account registration form gave no feedback while the verification request was processing, so repeat clicks sent multiple verification emails and each new email invalidated the code in the previous one.<\/li>\n<li>Improvement \u2013 The Register button is now disabled and shows a \"Please wait\" loader while the verification request runs, and duplicate requests are blocked on both the front end and the server.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 11.1.0 and WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>2.8<\/h4>\n\n<ul>\n<li>Fix \u2013 Undefined variable $expire_time.<\/li>\n<li>Improvement \u2013 Redesigned the entire admin experience with the new Zorem UI design system (ZUI).<\/li>\n<li>Dev \u2013 Tested with WooCommerce 10.9.1 and WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>2.7<\/h4>\n\n<ul>\n<li>Dev \u2013 Tested with WooCommerce 10.7.0 and WordPress 6.9.4.<\/li>\n<\/ul>\n\n<h4>2.6.9<\/h4>\n\n<ul>\n<li>Fix \u2013 Fixed admin notice dismiss functionality not working when clicking the dismiss button or X icon. The notice now properly dismisses and redirects to a clean URL.<\/li>\n<li>Fix \u2013 Resolved issue where WordPress converts dots to underscores in query parameters, preventing the dismiss handler from detecting the parameter correctly.<\/li>\n<\/ul>\n\n<h4>2.6.8<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Added PRO upsell elements (locked PRO fields, upgrade banner, Go PRO tab with comparison and benefits).<\/li>\n<li>Dev \u2013 Tested with WooCommerce 10.5.1 and WordPress 6.9.1.<\/li>\n<\/ul>\n\n<h4>2.6.7<\/h4>\n\n<ul>\n<li>Fix \u2013 Resolved issue where users were redirected to \/my-account\/email-verification\/ (404) instead of seeing the verification popup on new installations.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 10.4.2 and WordPress 6.9.<\/li>\n<\/ul>\n\n<h4>2.6.6<\/h4>\n\n<ul>\n<li>Fix \u2013 Updated deprecated WooCommerce script handles (jquery-blockui, jquery-tiptip, serializejson) to new handles (wc-jquery-blockui, wc-jquery-tiptip, wc-serializejson) for compatibility with WooCommerce 10.3+.<\/li>\n<li>Fix \u2013 User verification filter on users page.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 10.3.3 and WordPress 6.8.3.<\/li>\n<\/ul>\n\n<h4>2.6.5<\/h4>\n\n<ul>\n<li>Dev \u2013 Tested with WooCommerce 10.1.2.<\/li>\n<\/ul>\n\n<h4>2.6.4<\/h4>\n\n<ul>\n<li>Fix \u2013 JavaScript link for \"Already Have a Verification Code?\" not working.<\/li>\n<li>Fix \u2013 Tooltip not working with WooCommerce 10.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 10.0.4 and WordPress 6.8.2.<\/li>\n<\/ul>\n\n<h4>2.6.3<\/h4>\n\n<ul>\n<li>Fix \u2013 PHP Warning: Undefined array key.<\/li>\n<li>Fix \u2013 Grammar in Verification Page \u2014 changed \"4-digits code\" to \"4-digit code\".<\/li>\n<li>Fix \u2013 Verification widget not opening in customizer.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 9.9.5.<\/li>\n<\/ul>\n\n<h4>2.6.2<\/h4>\n\n<ul>\n<li>Dev \u2013 Tested with WooCommerce 9.8.5 and WordPress 6.8.1.<\/li>\n<\/ul>\n\n<h4>2.6.1<\/h4>\n\n<ul>\n<li>Fix \u2013 Function _load_textdomain_just_in_time was called incorrectly.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 9.8.1 and WordPress 6.8.<\/li>\n<\/ul>\n\n<h4>2.6<\/h4>\n\n<ul>\n<li>Dev \u2013 Updated the promotional notice on the settings page.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 9.7.1.<\/li>\n<\/ul>\n\n<h4>2.5<\/h4>\n\n<ul>\n<li>Fix \u2013 Resolved a fatal error where the class \"cev_new_account_email_customizer\" was not found.<\/li>\n<li>Enhancement \u2013 Removed all console.log statements from JavaScript files to improve performance.<\/li>\n<li>Fix \u2013 Resolved the passcode verification issue by ensuring the user table is created properly during the plugin update process.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 9.7.0.<\/li>\n<\/ul>\n\n<h4>2.4<\/h4>\n\n<ul>\n<li>Fix \u2013 Signup email verification issue: verification code doesn't match.<\/li>\n<\/ul>\n\n<h4>2.3<\/h4>\n\n<ul>\n<li>Dev \u2013 Created new signup verification flow where users cannot create an account without verifying their email.<\/li>\n<li>Dev \u2013 Updated admin page design to match the new signup verification flow.<\/li>\n<li>Dev \u2013 Updated customizer to match the new signup verification flow.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 9.6.2 and WordPress 6.7.2.<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<ul>\n<li>Fix \u2013 Uncaught TypeError: Cannot read properties of undefined (reading 'top').<\/li>\n<li>Fix \u2013 PHP Notice: Function _load_textdomain_just_in_time was called incorrectly.<\/li>\n<li>Fix \u2013 Deprecated: explode(): Passing null to parameter.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 9.5.1 and WordPress 6.7.1.<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Tested with WPML 4.7 and updated the documentation.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 9.4.2 and WordPress 6.7.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Added UTM links for all external links to zorem.com.<\/li>\n<li>Enhancement \u2013 Added text domain to all strings in customizer.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 8.9.1 and WordPress 6.5.3.<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Fix \u2013 Broken HTML on Users page.<\/li>\n<li>Fix \u2013 User approval function on backend not working.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 8.5.1.<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Improved design of PRO banner.<\/li>\n<li>Dev \u2013 Compatibility with PHP 8.2.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 8.3.0 and WordPress 6.4.1.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Dev \u2013 Tested with WooCommerce 6.9.4 and WordPress 6.0.2.<\/li>\n<li>Dev \u2013 Added compatibility with WooCommerce HPOS.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Dev \u2013 Tested with WooCommerce 6.9.4 and WordPress 6.0.2.<\/li>\n<li>Dev \u2013 Tested with WooCommerce Multilingual 5.0.0 Beta.<\/li>\n<li>Enhancement \u2013 Updated the settings page design.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fix \u2013 \"Try Again\" link in email verification popup.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Updated design of settings page.<\/li>\n<li>Enhancement \u2013 Updated design of Go PRO page.<\/li>\n<li>Dev \u2013 Improved code security.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 5.5.2 and WordPress 5.8.<\/li>\n<\/ul>\n\n<h4>1.3.9<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Tested WooCommerce customer email verification compatibility.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 5.4.1 and WordPress 5.7.2.<\/li>\n<\/ul>\n\n<h4>1.3.8<\/h4>\n\n<ul>\n<li>Fix \u2013 PHP Fatal error: Call to undefined function wc_cev_customizer().<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Fix \u2013 Uncaught Error: Class 'cev_initialise_customizer_settings' not found.<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Updated settings page design.<\/li>\n<li>Enhancement \u2013 Added AJAX on Email Verification and Actions panel on users listing page.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 5.2.1 and WordPress 5.7.1.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Improved the \"Email Verification\" link HTML in user verification email.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 5.0.0 and WordPress 5.6.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Fix \u2013 Verification widget always showing for administrator users on My Account page.<\/li>\n<li>Fix \u2013 Skip email verification for selected user roles option not working correctly.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 4.9.2 and WordPress 5.6.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Set up My Account change email verification text.<\/li>\n<li>Enhancement \u2013 Customizer improvements.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 4.9.2 and WordPress 5.6.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Updated settings page design.<\/li>\n<li>Enhancement \u2013 Added new customizer for verification display on the new account email.<\/li>\n<li>Enhancement \u2013 Added new customizer for verification widget style and message.<\/li>\n<li>Enhancement \u2013 Removed customer view settings page tab.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 4.9.1 and WordPress 5.6.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Updated settings page design.<\/li>\n<li>Enhancement \u2013 Updated users list page design for Email Verification and actions panel.<\/li>\n<li>Enhancement \u2013 Updated edit user page design for Email Verification panel.<\/li>\n<li>Enhancement \u2013 Added functionality of live preview of verification widget.<\/li>\n<li>Enhancement \u2013 Added verification success message in general settings.<\/li>\n<li>Dev \u2013 Tested with WooCommerce 4.8 and WordPress 5.6.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Added option for \"Redirect to selected page after verification\".<\/li>\n<li>Dev \u2013 Tested with WooCommerce 4.5.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Fix \u2013 Fixed ERR_TOO_MANY_REDIRECTS issue in email verification page.<\/li>\n<li>Dev \u2013 Tested with WordPress 5.5.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Merged verification status fields in WordPress users admin and added action icons.<\/li>\n<li>Enhancement \u2013 Added bulk actions to resend verification email and verify user email addresses.<\/li>\n<li>Fix \u2013 Auto-refresh the permalink.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Added filter in Users list page for verified and non-verified users.<\/li>\n<li>Enhancement \u2013 Added option \"Allow first login after registration without email verification\".<\/li>\n<li>Fix \u2013 Fixed warnings: Undefined offset: 0 in class-wc-customer-email-verification-admin.php.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Changed navigation label.<\/li>\n<li>Fix \u2013 Settings page design issue.<\/li>\n<li>Fix \u2013 User page layout issue.<\/li>\n<li>Fix \u2013 Undefined index 0 warnings.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Dev \u2013 Added functionality to skip email verification for already-registered users.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Updated design of OTP input box in email verification form.<\/li>\n<li>Enhancement \u2013 Updated design of email verification form.<\/li>\n<li>Dev \u2013 Changed default values for email heading and content.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fix \u2013 Separate email subject issue.<\/li>\n<li>Fix \u2013 WooCommerce email verification endpoint not found issue.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Enhancement \u2013 Added Enable\/Disable option for customer email verification.<\/li>\n<li>Enhancement \u2013 Added spinner and settings save message in settings page.<\/li>\n<li>Fix \u2013 Fixed warnings in frontend page.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Dev \u2013 Updated email verification process and added OTP verification functionality.<\/li>\n<li>Dev \u2013 After login, block all My Account pages until user verifies their email.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Dev \u2013 Tested with WooCommerce 4.0 and WordPress 5.4.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix \u2013 WooCommerce email issue.<\/li>\n<li>Fix \u2013 Skip email verification for selected roles option save issue.<\/li>\n<li>Fix \u2013 Warnings from users list page.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial version.<\/li>\n<\/ul>","raw_excerpt":"Block fake WooCommerce registrations with OTP email verification. Customers verify their email before their account is created \u2014 no code required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/117966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=117966"}],"author":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/zorem"}],"wp:attachment":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=117966"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=117966"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=117966"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=117966"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=117966"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=117966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}