| 开发者 |
sendsms
neamtua |
|---|---|
| 更新时间 | 2026年6月10日 02:57 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 |
| 版权网址: | 版权信息 |
sendsms-subscribers-2fa folder to /wp-content/plugins/, or install the plugin from the WordPress.org directory.Yes. Sign up for free at https://www.sendsms.ro/en/ and top up your balance. SMS are charged per message; pricing depends on the destination country.
No. The 2FA feature is designed for the default wp-admin login form — the one WordPress ships at /wp-login.php. Custom login plugins or themes that replace the login form are not supported and may behave unpredictably. Always test in a development environment before enabling 2FA on a live site.
PHP 7.4 through PHP 8.3, WordPress 6.0 through 7.0. The plugin is verified on PHP 7.4 and PHP 8.3 against WordPress 7.0.
You have three options, depending on your situation:
2fa_roles list and save. 2FA will no longer apply to that role.wp option get sendsms_dashboard_plugin_settings) or direct database access to clear the phone number stored in the plugin settings option, or to remove the role from 2fa_roles.Yes. The subscriber table, the SMS history table, and the settings option all keep their v1.x names. No data migration is required; upgrading from 1.x to 2.0 is transparent.
Three ways, all produce the same HTML and behaviour:
[sendsms_subscribe] or [sendsms_unsubscribe] into any post, page, or block. See attributes below.[sendsms_subscribe] — the subscribe form.
title (string, optional) — heading rendered above the form.gdpr_link (URL, optional) — privacy-policy URL. When set, the GDPR consent label includes a "privacy policy" link pointing to it.[sendsms_subscribe title="Get SMS updates" gdpr_link="https://www.sendsms.ro/en/gdpr/"]
[sendsms_unsubscribe] — the unsubscribe form.
title (string, optional) — heading rendered above the form.[sendsms_unsubscribe title="Leave the SMS list"]
Both shortcodes are safe to use multiple times on the same page; each form is independent.
The same class names are emitted whether the form is rendered via the widget, the shortcode, or the Gutenberg block — so a single stylesheet covers all three. Use these to style the output from your theme or a custom CSS plugin.
.sendsms-dashboard-shortcode — outermost wrapper when rendered via shortcode or block. Adds -subscribe or -unsubscribe as a modifier (.sendsms-dashboard-shortcode-subscribe, .sendsms-dashboard-shortcode-unsubscribe). The classic widget uses the theme's before_widget instead.form.sendsms-dashboard-subscribe, form.sendsms-dashboard-unsubscribe — the form element itself..sendsms-dashboard-field — wraps every input row (<p> element). Modifier .sendsms-dashboard-gdpr on the GDPR consent row of the subscribe form..sendsms-dashboard-verify — the hidden block containing the verification code input and "Verify" button. Revealed by JavaScript after the first AJAX response when phone verification is enabled. Use the [hidden] attribute selector if you want to override its initial state..sendsms-dashboard-feedback — the [role="status"] paragraph used for status messages. Carries data-state="ok" or data-state="error" while a request is in flight.assets/css/public.css styles every one of these classes; override or replace it from your theme's stylesheet as needed.
sendsms-subscribers-2fa folder, and the example URL in the shortcode documentation was replaced with a valid one. No functional or data changes.
2.0.2
Renamed the plugin to SendSMS Subscribers & 2FA (text domain sendsms-subscribers-2fa) so it can be published in the WordPress.org directory. No functional or data changes — your settings, subscribers, SMS history, shortcodes, blocks, widgets, and CSS classes are all unchanged.
2.0.1
Naming/compliance pass for WordPress.org. All internal identifiers now carry a distinct, collision-safe rosendsms_dash_ prefix so the plugin coexists cleanly with other plugins (including SendSMS for WooCommerce). Your settings, SMS history, and subscriber list are migrated automatically on update.
ROSENDSMS_DASH_*), the PSR-4 namespace (Rosendsms\Dashboard\…), option/transient keys, custom table names, AJAX actions, script handles, the localized JS objects, and nonces.sendsms_dashboard_* options and custom tables to the new rosendsms_dash_* names on activation/upgrade — no data loss.[sendsms_subscribe], [sendsms_unsubscribe]), block names, widget IDs, and the documented CSS class names are unchanged, so existing pages, widgets, and custom styling keep working.SendSMS\Dashboard\…) with one class per responsibility (API client, settings reader, subscribe / unsubscribe / 2FA flows, admin pages, AJAX handlers).authenticate filter — no fake login + session destruction, no fork of wp-login.php. Cleaner, fewer surprises with other plugins.assets/js/. jBox dropped; native WordPress admin patterns used instead.batches/ filesystem write, matching the security baseline of the WooCommerce sibling plugin).