跳至内容
WordPress.org

China 简体中文

  • 主题
  • 插件
  • 新闻
    • 文档
    • 论坛
  • 关于
  • 获取 WordPress
获取 WordPress
WordPress.org

Plugin Directory

SMSKora – Smart & Secure SMS OTP Alerts for WordPress

  • 提交插件
  • 我的收藏
  • 登录
  • 提交插件
  • 我的收藏
  • 登录

SMSKora – Smart & Secure SMS OTP Alerts for WordPress

作者:Md Abul Bashar
下载
  • 详情
  • 评价
  • 安装
  • 开发进展
支持

描述

SMSKora is a modular SMS platform for WordPress. It lets you send SMS OTP codes and SMS notifications through a range of popular SMS gateways, with zero code required for most use cases. Advanced developers get a clean PHP API, action/filter hooks, and an extensible provider registry.

SMS Providers

SMSKora ships with built-in support for the following SMS gateways:

  • Custom API — Connect any HTTP-based SMS gateway using a configurable URL template (GET or POST).
  • BulkSMSBD — Bangladeshi gateway with GET/POST support, balance checks, and sender ID configuration.
  • MimSMS — Bangladeshi gateway with OTP and general SMS support.
  • SMSNetBD — Bangladeshi gateway with GET/POST support and balance check.
  • Twilio — International gateway. Enter Account SID, Auth Token, and sender number.
  • Vonage (Nexmo) — International gateway. Enter API Key, API Secret, and brand name.

Additional providers can be registered using the smskora_register_providers filter hook.

Features

WordPress Login OTP
Add two-factor SMS verification to the default WordPress login form. After username and password are accepted, an OTP is sent to the user’s saved phone number. Supports Password + OTP mode. Users without a saved phone number are allowed to log in normally and are reminded to add a phone number from their profile page.

  • Configurable OTP mode: Password + OTP, Phone + OTP, or Email/Username + OTP.
  • “Remember verified device” option with configurable expiry (days).
  • Restrict OTP enforcement to specific user roles (e.g. administrator, editor, shop_manager).
  • Resend OTP button with AJAX support.
  • Non-JS fallback form.

WordPress Registration OTP
Verify the phone number entered during WordPress default registration before the account is created.

  • Customizable phone field label.
  • Optional phone number requirement.
  • Block duplicate phone numbers across accounts.
  • Auto-login after verification option.
  • Configurable user meta key for storing the phone number.

WooCommerce Order SMS Notifications
Send SMS notifications to both the store admin and customers when WooCommerce order events occur.

  • Admin SMS on new order (configurable admin phone number).
  • Customer SMS on: Processing, Completed, Cancelled, Failed, and Refunded order statuses.
  • Each event can be toggled individually.
  • Message templates use dynamic variables (order number, total, customer name, etc.).

Custom SMS Notification
Trigger one-off SMS messages from the admin Tools page or from your own code.

  • Restrict the Tools sender to administrators only.
  • Configurable default log context.

Developer API
Enable PHP helper functions, action hooks, and filter hooks for use in themes, plugins, and custom integrations.

  • Global helper functions always available.
  • REST API endpoint placeholder (disabled by default, enable from Features screen).
  • All developer sends are logged with configurable context.

Message Templates

Every SMS notification uses a customizable template. Templates support the following dynamic variables:

  • {otp} — The generated OTP code.
  • {order_id} — WooCommerce order number.
  • {order_total} — Order total with currency.
  • {customer_name} — Customer billing first name.
  • {site_name} — Your WordPress site name.
  • {user_name} — Display name of the user.

Developer API

PHP Helper Functions

smskora_send_sms( $message, $number, $args ) — Send a plain SMS.
smskora_send_otp( $number, $context, $args ) — Generate and send an OTP.
smskora_verify_otp( $number, $otp, $context ) — Verify a submitted OTP code.
smskora_get_option( $key, $default ) — Read a plugin setting.

Static Class API

\SMSKora\SMSKora::send_sms( $message, $number, $args )
\SMSKora\SMSKora::send_otp( $number, $context, $args )
\SMSKora\SMSKora::verify_otp( $number, $otp, $context )

Action Hooks

smskora_before_send_sms — Fires before an SMS is dispatched.
smskora_after_send_sms — Fires after an SMS is dispatched.
smskora_otp_sent — Fires after an OTP is sent successfully.
smskora_otp_verified — Fires after an OTP is verified successfully.
smskora_feature_registered — Fires when a feature is registered.

Filter Hooks

smskora_register_providers — Register custom SMS provider classes.
smskora_sms_message — Filter the SMS message text before sending.
smskora_otp_length — Filter the OTP code length.
smskora_otp_expiry — Filter the OTP expiry time in minutes.

OTP Security

  • OTP codes are hashed with password_hash() before being stored.
  • Codes are single-use and expire after a configurable time window.
  • Attempt limits are enforced to prevent brute-force guessing.
  • Expired OTPs are automatically cleaned up via WP-Cron.

Privacy & Data

SMSKora stores SMS log records (recipient, message status, provider, context) and OTP records (hashed OTP, phone, expiry) in custom database tables. No data is sent to third-party servers by this plugin. Data is sent only to the SMS gateway you configure. All stored data is deleted when the “Delete Data on Uninstall” setting is enabled.

External services

SMSKora connects to external SMS gateway APIs only when a site administrator configures an SMS provider and the plugin sends an SMS message, OTP message, order notification, login verification message, registration verification message, or balance-check request.

The plugin does not send SMS data to servers controlled by the SMSKora plugin author. SMS data is sent only to the SMS gateway provider selected and configured by the site administrator.

For configured providers, the following data may be sent to the selected provider:

  • Recipient phone number.
  • SMS message body.
  • Sender ID or sender number, if configured.
  • API key, access token, username, password, or other gateway credentials required by the provider.
  • Request metadata required by WordPress and the remote API, such as the site server IP address and HTTP request headers.
  • For balance-check requests, the plugin sends the configured API credentials to the selected provider to retrieve the account balance.

No external SMS gateway request is made unless the administrator configures a provider and a plugin feature triggers an SMS send or balance check.

BulkSMSBD

This plugin can connect to the BulkSMSBD SMS gateway to send SMS messages and check account balance.

API domains used by this plugin:

  • http://bulksmsbd.net/api/smsapi
  • http://bulksmsbd.net/api/getBalanceApi

Data sent:

  • Recipient phone number and SMS message body when sending SMS.
  • API key, sender ID, and other configured gateway credentials required by BulkSMSBD.
  • API credentials when checking account balance.

Service website: https://bulksmsbd.com/
Terms of Service: https://bulksmsbd.com/terms-and-conditions.php
Privacy Policy: Not publicly listed by the provider at the time of writing. Users should contact BulkSMSBD through https://bulksmsbd.com/contact for privacy information before enabling this provider.

MimSMS

This plugin can connect to the MimSMS SMS gateway to send SMS messages and check account balance.

API domains used by this plugin:

  • https://api.mimsms.com/api/SmsSending/Send
  • https://api.mimsms.com/api/SmsSending/SMS
  • https://api.mimsms.com/api/SmsSending/balanceCheck

Data sent:

  • Recipient phone number and SMS message body when sending SMS.
  • API key, sender ID, username, password, or other configured gateway credentials required by MimSMS.
  • API credentials when checking account balance.

Service website: https://mimsms.com/
Terms of Service: https://www.mimsms.com/terms-of-service
Privacy Policy: https://www.mimsms.com/privacy-policy

SMSNet BD / sms.bd

This plugin can connect to the SMSNet BD / sms.bd SMS gateway to send SMS messages and check account balance.

API domains used by this plugin:

  • https://api.sms.net.bd/sendsms
  • https://api.sms.net.bd/user/balance/

Data sent:

  • Recipient phone number and SMS message body when sending SMS.
  • API key, sender ID, and other configured gateway credentials required by SMSNet BD / sms.bd.
  • API credentials when checking account balance.

Service website: https://sms.bd/
Terms of Service: https://sms.bd/Terms_Condition/
Privacy Policy: Not publicly listed by the provider at the time of writing. Users should contact SMSNet BD / sms.bd through https://sms.bd/Contact/ for privacy information before enabling this provider.

Custom API provider

This plugin includes a Custom API provider that allows the site administrator to configure their own SMS gateway endpoint.

External service used:

  • The custom endpoint URL entered by the site administrator in the plugin settings.

Data sent:

  • Recipient phone number and SMS message body when sending SMS.
  • Any custom API credentials, headers, parameters, sender ID, or authentication values configured by the administrator.
  • The destination URL and provider are fully controlled by the site administrator.

Because the Custom API provider can connect to any administrator-configured endpoint, site administrators are responsible for reviewing that provider’s terms of service and privacy policy before enabling it.

Twilio

This plugin may include Twilio as an SMS provider option. If configured by the site administrator, it can connect to Twilio to send SMS messages.

Data sent:

  • Recipient phone number and SMS message body when sending SMS.
  • Twilio Account SID, Auth Token, sender number, and other configured Twilio credentials.

Service website: https://www.twilio.com/
Terms of Service: https://www.twilio.com/en-us/legal/tos
Privacy Policy: https://www.twilio.com/en-us/legal/privacy

Vonage / Nexmo

This plugin may include Vonage as an SMS provider option. If configured by the site administrator, it can connect to Vonage to send SMS messages.

Data sent:

  • Recipient phone number and SMS message body when sending SMS.
  • Vonage API key, API secret, sender number/name, and other configured Vonage credentials.

Service website: https://www.vonage.com/
Terms of Service: https://www.vonage.com/legal/
Privacy Policy: https://www.vonage.com/legal/privacy-policy/

屏幕截图

Dashboard — live provider status, SMS statistics, and quick setup checklist.
Dashboard — live provider status, SMS statistics, and quick setup checklist.
Provider settings — choose your gateway and enter credentials.
Provider settings — choose your gateway and enter credentials.
Provider Settings Fields
Provider Settings Fields
Features — toggle Login OTP, Registration OTP, WooCommerce, Custom Notification, and Developer API.
Features — toggle Login OTP, Registration OTP, WooCommerce, Custom Notification, and Developer API.
Features — toggle Login OTP, Registration OTP, WooCommerce, Custom Notification, and Developer API.
Features — toggle Login OTP, Registration OTP, WooCommerce, Custom Notification, and Developer API.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Message Templates — edit message content for every SMS event.
Logs — searchable, filterable delivery log with status, provider, and context.
Logs — searchable, filterable delivery log with status, provider, and context.
Tools — send a test SMS or check provider balance from the admin.
Tools — send a test SMS or check provider balance from the admin.
Settings
Settings

安装

  1. Upload the smskora folder to /wp-content/plugins/ or install the ZIP from Plugins > Add New.
  2. Activate SMSKora.
  3. Go to SMSKora > Providers and choose your SMS gateway. Enter your credentials and click Test SMS to verify the connection.
  4. Go to SMSKora > Features and enable the modules you need (Login OTP, Registration OTP, WooCommerce Notifications, etc.).
  5. Go to SMSKora > Templates and customize the message text for each event.
  6. Send a test SMS any time from SMSKora > Tools.

常见问题

Does SMSKora include SMS provider API keys?

No. You must supply your own credentials (API key, username/password, or auth token) from your chosen SMS provider account.

Which SMS providers are supported out of the box?

Custom API, BulkSMSBD, MimSMS, SMSNetBD, Twilio, and Vonage. More can be added via the smskora_register_providers filter.

Can I add my own custom SMS provider?

Yes. Implement the SMSKora\Providers\ProviderInterface and register your class using the smskora_register_providers filter hook.

How does Login OTP work?

After a user enters a valid username and password, SMSKora checks whether their account has a saved phone number. If it does, an OTP is sent to that number and they must enter it before they are logged in. Users without a saved phone number bypass OTP and are shown a reminder to add one.

Does it work with WooCommerce?

Yes. Enable the WooCommerce Order Notifications feature to send SMS on new orders, processing, completed, cancelled, failed, and refunded status events.

Where do I find the phone number field for user profiles?

SMSKora adds a Phone Number field to the WordPress user profile page. Users can add or update their number there. Administrators can also edit any user’s number from the Edit User screen.

Are OTP codes stored securely?

Yes. All OTP codes are hashed using password_hash() before being saved. The plain code is never stored.

Does the plugin delete my data on uninstall?

Only when the Delete Data on Uninstall option is enabled under SMSKora > Settings. When enabled, uninstalling the plugin will remove all plugin options and drop the custom database tables.

Can I use SMSKora from PHP code in my theme or another plugin?

Yes. Use smskora_send_sms(), smskora_send_otp(), and smskora_verify_otp() helper functions, or call \SMSKora\SMSKora::send_sms() directly.

Does SMSKora collect any data?

SMSKora does not collect or transmit data to any servers controlled by the plugin author. Your SMS data is sent only to the gateway provider you configure.

评价

此插件暂无评价。

贡献者及开发者

「SMSKora – Smart & Secure SMS OTP Alerts for WordPress」是开源软件。 以下人员对此插件做出了贡献。

贡献者
  • Md Abul Bashar

帮助将「SMSKora – Smart & Secure SMS OTP Alerts for WordPress」翻译成简体中文。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志。

更新日志

1.0.0

  • Initial release.
  • Custom API, BulkSMSBD, MimSMS, SMSNetBD, Twilio, Vonage providers.
  • WordPress Login OTP with non-JS fallback and AJAX resend.
  • WordPress Registration OTP with duplicate phone blocking.
  • WooCommerce Order SMS Notifications (6 order events).
  • Custom SMS Notification feature with admin Tools sender.
  • Developer API feature with PHP helper functions and hooks.
  • Message template system with dynamic variables.
  • SMS delivery log with filtering and one-click clear.
  • OTP log with hashed storage and automatic expiry cleanup.
  • Provider connection status indicator on the dashboard.

额外信息

  • 版本 1.0.0
  • 最后更新:5 天前
  • 活跃安装数量 不到10
  • WordPress 版本 5.8 或更高版本
  • 已测试的最高版本为 7.0
  • PHP 版本 7.4 或更高版本
  • 语言
    English (US)
  • 标签
    login otpotpsmssms notificationswoocommerce
  • 高级视图

评级

尚未提交反馈。

Your review

查看全部评论

贡献者

  • Md Abul Bashar

支持

有话要说吗?是否需要帮助?

查看支持论坛

  • 关于
  • 新闻
  • 主机
  • 隐私
  • 陈列窗
  • 主题
  • 插件
  • 区块样板
  • 学习
  • 支持
  • 开发者
  • WordPress.tv ↗︎
  • 参与
  • 活动
  • 捐赠 ↗
  • 未来五分计划
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

China 简体中文

  • 关注我们的 X(原 Twitter)账号
  • 访问我们的 Bluesky 账号
  • 关注我们的 Mastodon 账号
  • 访问我们的 Threads 账号
  • 访问我们的 Facebook 公共主页
  • 关注我们的 Instagram 账号
  • 关注我们的 LinkedIn 主页
  • 访问我们的 TikTok 账号
  • 访问我们的 YouTube 频道
  • 访问我们的 Tumblr 账号
代码如诗
The WordPress® trademark is the intellectual property of the WordPress Foundation.