| @@ -4,9 +4,9 @@ | ||
| 4 | 4 | Tags: contact form 7, double opt-in, gdpr, email verification, newsletter |
| 5 | 5 | Requires at least: 6.0 |
| 6 | 6 | Tested up to: 7.1 |
| 7 | 7 | Requires PHP: 7.4 |
| 8 | -Stable tag: 5.8.0 | |
| 8 | +Stable tag: 5.9.0 | |
| 9 | 9 | License: GPLv3 |
| 10 | 10 | License URI: http://www.gnu.org/licenses/gpl-3.0.html |
| 11 | 11 | |
| 12 | 12 | **Protect your Contact Form 7 forms with GDPR-compliant Double Opt-In.** |
| @@ -65,9 +65,9 @@ | ||
| 65 | 65 | * **Category System** -- organize opt-ins into categories for better management |
| 66 | 66 | * **Pagination & Search** -- search and filter opt-in records in the admin dashboard |
| 67 | 67 | * **Admin Tooltips** -- contextual help tooltips throughout the admin interface |
| 68 | 68 | * **WordPress Multisite** -- network-wide activation creates tables on all sites automatically |
| 69 | -* **Developer Hooks** -- 48 action hooks, 82 filters, and 13 typed events for full extensibility | |
| 69 | +* **Developer Hooks** -- 48 action hooks, 83 filters, and 13 typed events for full extensibility | |
| 70 | 70 | |
| 71 | 71 | = Pro Features = |
| 72 | 72 | |
| 73 | 73 | Unlock the full potential of Double Opt-In with the [Pro version](https://www.forge12.com/shop/contact-form-7-double-opt-in?from=readme&utm_source=double-opt-in&utm_medium=plugin&utm_campaign=readme): |
| @@ -182,8 +182,9 @@ | ||
| 182 | 182 | Put these shortcodes on the page: |
| 183 | 183 | |
| 184 | 184 | * `[doi_confirmation_status]` says whether the link just confirmed the address, was already used, has expired or is invalid. Each text can be replaced, for example `[doi_confirmation_status confirmed="Welcome aboard!"]`. |
| 185 | 185 | * `[doi_field name="your-name"]` shows a value from the form, only right after the confirmation. |
| 186 | +* `[doi_if status="confirmed"]…[/doi_if]` shows its content only for the listed outcomes (`confirmed`, `already_confirmed`, `expired`, `not_found`, or `none` for a visit without a link), so one page can carry a different text and different buttons for each case. | |
| 186 | 187 | * `[doi_error_message]` on the error page explains why a sign-up was refused (too many attempts, address already signed up, and so on). |
| 187 | 188 | |
| 188 | 189 | A page without `[doi_confirmation_status]` still shows a short notice when the link has expired or is invalid. |
| 189 | 190 | |
| @@ -216,9 +217,9 @@ | ||
| 216 | 217 | The free version requires at least one supported form plugin. However, developers can register custom form integrations using the `f12_cf7_doubleoptin_register_integrations` action hook. See the developer documentation for details. |
| 217 | 218 | |
| 218 | 219 | = Where can I find the developer documentation? = |
| 219 | 220 | |
| 220 | -A hook, filter, and event reference with code examples ships at `docs/hooks-and-events.md` inside the plugin directory. It documents 29 of the 48 action hooks, 24 of the 82 filters, and all 13 typed events — the ones extensions actually reach for. The rest are discoverable in the source; if you need one documented, ask and we will add it. | |
| 221 | +A hook, filter, and event reference with code examples ships at `docs/hooks-and-events.md` inside the plugin directory. It documents 29 of the 48 action hooks, 25 of the 83 filters, and all 13 typed events — the ones extensions actually reach for. The rest are discoverable in the source; if you need one documented, ask and we will add it. | |
| 221 | 222 | |
| 222 | 223 | = How do I report a bug or request a feature? = |
| 223 | 224 | |
| 224 | 225 | Please visit [forge12.com](https://www.forge12.com) or contact us via the WordPress support forum. |
| @@ -263,8 +264,14 @@ | ||
| 263 | 264 | licensed under the SIL Open Font License 1.1 (see licenses/inter-OFL-1.1.txt). |
| 264 | 265 | |
| 265 | 266 | == Upgrade Notice == |
| 266 | 267 | |
| 268 | += 5.9.0 = | |
| 269 | +Withdrawn opt-ins show as "Revoked", the setup wizard covers every form plugin, and the confirmation page can show content per outcome. Pro users: update the add-ons too. | |
| 270 | + | |
| 271 | += 5.8.1 = | |
| 272 | +Fixes German admin texts. No functional changes. | |
| 273 | + | |
| 267 | 274 | = 5.8.0 = |
| 268 | 275 | Shows whether each confirmation email reached your mail server and tells Contact Form 7 visitors to confirm their address. Pro users: update the email editor and opt-out add-ons too. |
| 269 | 276 | |
| 270 | 277 | = 5.7.0 = |
| @@ -365,8 +372,27 @@ | ||
| 365 | 372 | = 3.1.0 = |
| 366 | 373 | Adds optional anonymous telemetry (opt-out). No breaking changes. |
| 367 | 374 | |
| 368 | 375 | == Changelog == |
| 376 | + | |
| 377 | += 5.9.0 = | |
| 378 | + | |
| 379 | +**Withdrawals, every form plugin in the setup wizard, a confirmation page per outcome** | |
| 380 | + | |
| 381 | +* New: opt-ins withdrawn through the opt-out show as "Revoked" (filter in the list, detail page, its own dashboard card) instead of "Pending"; the original confirmation stays visible. | |
| 382 | +* New: the setup wizard offers the forms of every installed form plugin (WPForms, Elementor Pro, Gravity Forms and Avada with their add-ons), not only Contact Form 7, and finds the email field by its label. | |
| 383 | +* New: [doi_if status="confirmed"]…[/doi_if] shows its content only for the given outcome of the confirmation link, so one page can greet, explain an expired link and offer the form again. | |
| 384 | +* New: the form settings warn when the stored consent text differs from the text next to the checkbox in the form (Contact Form 7), and take that text over in one click. Developers: FieldTextProviderInterface and the filter f12_doi_form_field_texts. | |
| 385 | +* Fix: an add-on installed or activated on the Add-ons page works without reloading the page. | |
| 386 | +* Fix: the audit log showed event types as internal keys and some messages in English; its rate-limit filter found nothing. | |
| 387 | +* Fix: the WordPress personal data export described the mail status as "sent" instead of in words. | |
| 388 | +* Fix: the opt-in list showed category numbers instead of names; the forms page said "1 forms". | |
| 389 | +* Fix: the credit request, the deactivation survey and the feedback links were not translated; the French translation had no plural rules. | |
| 390 | + | |
| 391 | += 5.8.1 = | |
| 392 | +* Fix: on sites in formal German (Sie), a sentence on the user creation page was shown in English, and the role appeared as its internal key ("subscriber") instead of its name. | |
| 393 | +* Fix: German admin texts used the English names "Conditional Templates", "User Creation" and "Unique Email"; they now use the German terms throughout. | |
| 394 | +* Fix: the breadcrumb on add-on settings pages read "Page". | |
| 369 | 395 | |
| 370 | 396 | = 5.8.0 = |
| 371 | 397 | |
| 372 | 398 | **Know whether the confirmation email went out** |