PluginProbe
Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification / 5.9.0
Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification v5.9.0
5.9.0 5.8.0 5.8.1 5.7.0 5.6.2 5.6.3 5.6.1 5.6.0 5.5.0 5.4.0 5.3.2 5.3.1 5.1.6 5.1.5 trunk 2.1.5 2.11 2.12 2.13 2.15 3.0.0 3.0.1 3.0.2 3.0.3 3.0.5 All 42 releases
← All changes | readme.txt +21 -3 5.8.1 → 5.9.0 View file →
@@ -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.1
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,11 @@
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 +
267 271 = 5.8.1 =
268 272 Fixes German admin texts. No functional changes.
269 273
270 274 = 5.8.0 =
@@ -368,8 +372,22 @@
368 372 = 3.1.0 =
369 373 Adds optional anonymous telemetry (opt-out). No breaking changes.
370 374
371 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.
372 390
373 391 = 5.8.1 =
374 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.
375 393 * Fix: German admin texts used the English names "Conditional Templates", "User Creation" and "Unique Email"; they now use the German terms throughout.