OTP Login With Phone Number, OTP Verification

Plugin Banner

OTP Login With Phone Number, OTP Verification

by Hamid Alinia

Download
Description

OTP Login With Phone Number lets your users login and register using their mobile phone number — no password required. Send a One-Time Password (OTP) via SMS or Firebase and authenticate instantly.

Works seamlessly with WordPress and is fully compatible with WooCommerce login, registration, and checkout pages. Supports 20+ SMS gateways and lets you connect any custom SMS provider for free.

🔑 KEY FEATURES (FREE)

  • Phone number login & registration — replace or extend the default WordPress login
  • OTP via SMS or Firebase — free Firebase integration included
  • Compatible with WooCommerce — works on My Account, checkout, and registration pages
  • Compatible with LearnPress — OTP login on course checkout pages
  • Email login — let users login with email + OTP (no password)
  • Country flags & auto country code detection
  • Passwordless login — frictionless UX, higher conversion rates
  • Redirect after login/register to any URL
  • Page protection — restrict pages to logged-in users only
  • Password recovery via phone number OTP
  • Existing user sync — match phone numbers already stored in user meta (e.g. WooCommerce billing phone)
  • Store phone with or without country code
  • Custom gateway — connect any SMS provider yourself via URL + JSON config
  • GDPR-compliant
  • Translation-ready — includes Persian (fa_IR), compatible with WPML & Polylang
  • Multisite support
  • Shortcodes for embedding login form anywhere
  • Custom CSS support

📱 FREE SMS GATEWAYS

  • Firebase — free OTP via Google Firebase (recommended for international sites)
  • Twilio — international SMS gateway, free to configure
  • Netgsm — Turkey SMS gateway
  • Webruno SMS — free Iranian SMS gateway, powered by Webruno
  • Custom API — connect any SMS gateway using your own URL, headers, and body config

📱 PRO SMS GATEWAYS

  • WhatsApp via UltraMessage
  • Telegram
  • MSG91 (India)
  • Alibabacloud
  • MessageBird
  • Trustsignal
  • Taqnyat (Arabic)
  • 2Factor
  • Textlocal
  • Vonage
  • SMS.ir
  • MelliPayamak
  • FarazSMS

🔌 COMPATIBLE WITH

  • WooCommerce login, registration & checkout
  • LearnPress course checkout
  • Woodmart Theme sidebar login
  • Elementor (via shortcode)
  • WPForms (via shortcode)
  • Contact Form 7 (via shortcode)
  • WPBakery, Divi, Gutenberg (via shortcode)
  • WPML & Polylang (translation-ready)

⚡ USE CASES

  • eCommerce stores — reduce cart abandonment with frictionless phone login
  • WooCommerce shops — phone-verified checkout without passwords
  • Membership sites — verified user registration via OTP
  • LMS platforms — secure student login for online courses
  • Booking sites — quick login without password
  • Any site wanting to reduce fake registrations and improve security

🚀 PRO VERSION

Unlock advanced features with the Pro version:

  • 15+ additional SMS gateways (Twilio, WhatsApp, Telegram, MSG91, and more)
  • Advanced form builder & UI customization
  • Custom registration fields
  • Default user role assignment
  • Custom gateway development support
  • Priority support

📄 SHORTCODES

[idehweb_lwp] — embed the login/register form anywhere

[idehweb_lwp_metas phone_number="true" email="true"] — show logged-in user's phone/email

[idehweb_lwp_verify_email] — email verification form

📚 Documentation & Support

External Services

This plugin uses the following external services:

Firebase Authentication (optional — only when Firebase gateway is selected)
– Verifies phone numbers via OTP
– Data sent: phone number, IP address
Terms | Privacy

Crisp Chat (optional, can be disabled in Settings > Installation)
– Live chat support inside the plugin admin panel
– Data sent: chat messages, name, email, IP address
Terms | Privacy

Microsoft Clarity (optional, can be disabled in Settings > Installation)
– Anonymous usage analytics on the plugin admin pages only. No visitor or frontend data collected.
Terms | Privacy

  1. Install the plugin from the WordPress plugin directory or upload the zip file
  2. Activate through the ‘Plugins’ menu in WordPress
  3. Go to Login Settings in your WordPress admin
  4. Choose your SMS gateway and configure it
  5. Use [idehweb_lwp] shortcode on any page or let the plugin replace the default login form
Does this plugin work with WooCommerce?

Yes. The plugin is fully compatible with WooCommerce. It replaces or extends the login and registration forms on the My Account page, checkout page, and registration forms — all without passwords.

Which SMS gateways are free?

Firebase, Twilio, Webruno SMS, and Custom API are all free. Firebase is recommended for international sites. You can also connect any SMS provider yourself using the Custom API option.

Is Firebase free to use?

Yes. Firebase OTP is free within Google’s usage limits and is the recommended gateway for international sites.

Can users login with both phone number and email?

Yes. You can enable dual login — phone number OTP or email OTP — from the settings.

Does this replace the default WordPress login page?

You can configure it to replace or work alongside the default login. Fully configurable.

Can I use this on existing users?

Yes. The plugin syncs with existing WordPress users. If a phone number is stored in user meta (e.g. WooCommerce billing_phone), it will match automatically. You can also run a bulk sync from the settings page.

Does it support Google SSO?

Yes. Pro version supports Google SSO alongside phone number login.

Is the plugin translation-ready?

Yes. Compatible with WPML, Polylang, and standard .po/.mo translation files. Includes Persian (fa_IR) translation out of the box.

Does it work on multisite?

Yes. Multisite is supported.

Can I customize the login form appearance?

Yes. Custom CSS is supported in the free version. Pro version includes a full style panel — colors, fonts, logo, background, button styles.

Which page builders are supported?

Use the [idehweb_lwp] shortcode inside Elementor, WPBakery, Divi, Gutenberg, or any page builder that supports shortcodes.

Can I add extra fields to the registration form?

Yes, with the Pro version you can add custom registration fields and collect additional user data on signup.

Does it work with LearnPress?

Yes. The plugin is compatible with LearnPress and replaces the login/checkout form for course purchases.

How can I connect my own SMS gateway?

Use the Custom API option — enter your gateway URL, request method (GET/POST), headers, and body in JSON format. Use ${code} as a placeholder for the OTP code.

How can I report security bugs?

Through the Patchstack Vulnerability Disclosure Program: Report a vulnerability

Excellent Pro Version, Works Perfectly

By joeemami on August 24, 2026

The Pro version works great!

WooCommerce integration and extra control over login and registration settings were exactly what I needed compared to the free version.

The plugin was easy to set up, and the developer provided excellent support with the full installation and answered all my questions at midnight!

Really happy with the plugin and the support.

Highly recommended!

worst OTP plugin

By v1988 on July 4, 2026

Big mistake buying this plugin. Paid for pro, support went silent. It's full of bugs and completely unusable. No response from anyone. Total scam. do not pay for pro version guys

Works flawlessly

By webmaster1105 on October 26, 2025

Awesome plugin. I was able to set it up in a few minutes. If you face any issues, you can chat with author from the plugin setting page of your website itself. With Firebase, I got a free limit of 1000 sms per day. So it's working great for my website now. Looking forward to buy the paid version in future, jsut to support the author.

Easy access with great support

By Sajjad Nazari (sajjadnazari) on October 25, 2025

It was a grate experience for to using good plugin and their support team was good at it.

Shows Ads and Needs Pro Version!

By pixer on October 17, 2025

1. Shows ads. 2. Shows developers real face in my admin dashboard 😐 3. The core basic functionality (connection to KaveNegar SMS service provider) is locked behind Pro version. Almost all SMS gateways are locked behind a paywall. 4. "Enable usage tracking" option checked by default (without users knowladge).

Great plugin, but needs some improvements

By badraldossari on July 10, 2025

The plugin is great, but there are some compatibility issues with the WoodMart theme.
Also, when the "Abandoned Cart" feature is enabled, it causes problems.

I hope these issues will be fixed in future updates.

Additionally, I suggest adding more login form templates instead of relying on just one.

Great plugin!

By ludmilasv on June 5, 2025

Thanks a lot, your plugin saved me so much time for development!
One small bug: the shortcode renders 5 forms, and all of them have a field with the same id. So, I have a warning in console: Found 5 elements with non-unique id #security.

This plugin is a life saver!!!

By nikhiljdhv on May 7, 2025

So I recently migrated one of my clients website from Shopify to Woo and they needed a otp based login. All other options seemed a little too much and I wanted something very straightforward. Add the phone number, get an otp and login. These guys do just that. No fuss! And the best part is, the customer support was spot on. I had trouble syncing the old Shopify customers with this app but the support team guided me very efficiently and got the issue resolved in no time. I highly recommend this plugin and I'm soon going to opt for the paid version.

the beast plugin

By ehsan (ehsan2079) on February 19, 2025

support india and Saudi Arabia and another country
and the pro version of this plugin is much cheaper than other plugins

the best plugin

By kioomarss on February 16, 2025

best plugin for sms

1.8.74

  • New: added Webruno SMS gateway — free Iranian SMS OTP provider

1.8.73

  • Fix: Default Role setting was not saving — the select field’s name attribute was being stripped for non-PRO users, so the chosen role never reached the database
  • Fix: PHP 8.1+ deprecation notice (array offset on false) when reading localization settings before they’ve ever been saved
  • Fix: “Sync old WooCommerce users billing phone” button now shows a loading/success/error state instead of appearing unresponsive
  • New: separate Privacy Policy link field, independent from the Terms & Conditions link
  • New: option to hide the country-code selector entirely, for sites serving a single country/locale
  • Improvement: replaced the large promotional banner on the settings page with a smaller, less intrusive upgrade card
  • Improvement: switched wp_redirect() to wp_safe_redirect() (with proper exit()) in the login redirect flow

1.8.72

  • Fix: resolved a fatal ArgumentCountError in check_sms_gateway_configuration_notice() that could occur when third-party notice-management plugins re-triggered the admin_notices hook without passing the expected argument. The $page parameter now has a default value, so the function can safely run with zero arguments.

1.8.71

  • Security fix: added rate limiting and lockout on OTP verification (login, registration, email activation) — code is now invalidated after too many wrong attempts, and max attempts is configurable in General settings
  • Reset attempt counter whenever a fresh OTP is issued

1.8.65

  • Enable show form on checkout page

1.8.63

  • Maintenance and stability improvements

1.8.61

  • Fixed Firebase vulnerability reported by Wordfence

1.8.59

  • Added: DrPayamak Iranian SMS gateway (free)
  • MSG91 moved to Pro
  • Optimized country selector on mobile

1.8.58

  • Added: Kavenegar SMS gateway (free)

1.8.57

  • Added: MSG91 gateway

1.8.52

  • Fixed security vulnerabilities — nonce verification on all forms
  • Added input validation and sanitization
  • Fixed AJAX authentication with proper cookie handling
  • Added external services disclosure

1.8.50

  • Added GPLv2 license declaration
  • Refactored main plugin into modular files
  • Fixed fatal error on sites without WooCommerce
  • Enhanced PHP 8+ compatibility
  • Improved admin settings UI
  • Added test SMS feature before saving gateway settings
  • Fixed multisite settings saving issue

1.8.43

  • Added option to show login form on all pages (except WooCommerce My Account)

1.8.36

  • Added Netgsm Turkey SMS gateway

1.8.26

  • Added WhatsApp OTP as default system gateway

1.8.25

  • Added option to store phone numbers without country code
Back to top