Linux 软件免费装
Banner图

Flexa Unsubscribe

开发者 flexatech
更新时间 2026年8月22日 09:13
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPL v2 or later
版权网址: 版权信息

标签

email mailing list gdpr unsubscribe opt-out

下载

3.1.7 3.0.2 3.1.5 3.1.1 3.1.3 3.1.4 3.1.2 3.1.8 3.1.9

详情介绍:

Flexa Unsubscribe adds a complete unsubscribe workflow to every email WordPress sends, with a fully-branded admin UI for managing opt-outs, analytics, and the public unsubscribe page. All screens are powered by a REST API under /wp-json/flexa-unsubscribe/v1/, so external integrations can plug in too. Source code for compiled JavaScript and CSS The plugin ships with minified/compiled JavaScript and CSS in assets/dist/. The human-readable source code for these assets is publicly available and maintained at: https://github.com/flexatech/flexa-unsubscribe Source lives in the apps/admin (admin UI) directory. Build tools used: pnpm, Vite, React, TypeScript. To build from source: clone the repository, run pnpm install in apps/admin, then pnpm build (see the repository README for exact commands). This allows the code to be reviewed, studied, and forked. Documentation Full user guide, technical reference, and REST API documentation are hosted at: https://unsubscribe-doc.flexacommerce.com/ A "Documentation" link is also added to the plugin row on the Plugins screen for one-click access from inside WordPress.

安装:

  1. Upload the plugin files to /wp-content/plugins/flexa-unsubscribe, or install through the WordPress Plugins screen.
  2. Activate the plugin through the Plugins screen.
  3. On activation the plugin provisions three database tables: {prefix}flexa_unsubscribes, {prefix}flexa_blocked_emails, {prefix}flexa_unsubscribe_reasons (the last seeded with three default reasons).
  4. Visit Unsubscribe in the admin sidebar to configure.

屏幕截图:

  • **Unsubscribes / Blocked emails / Re-subscribed** - paginated tables with sorting, per-row delete, and CSV export. The Unsubscribes screen also accepts CSV import for bulk-adding opt-out records (skip-on-duplicate).
  • **Reasons** - manage the dropdown options shown on the public unsubscribe form; click-to-edit, reorder with the arrow buttons.
  • **Settings** - enable/disable auto-append + blocking, tune the exclude-keywords list.
  • **Appearance** - 19 tokens (colors, typography, copy) across three tabs with a live preview panel.
  • **Blocked Emails** - audit log of send attempts that were stopped because the recipient had opted out - it is not the opt-out list itself.

常见问题:

Do I need to change anything in my existing email sending code?

No. The plugin hooks wp_mail with standard WordPress filters. Any plugin or theme that sends mail via wp_mail is covered automatically.

What happens if I rotate AUTH_KEY?

Every in-flight unsubscribe/resubscribe link becomes invalid, because the HMAC key is AUTH_KEY. New links issued after rotation work normally. Existing records in the database are unaffected.

How are blocked emails different from unsubscribed addresses?

Unsubscribes is the list of addresses that opted out. Blocked emails is the audit log of outgoing sends that were stopped because they targeted an unsubscribed address. One unsubscribe can cause many blocked-email entries over time.

Are CSV exports safe to share publicly?

No - CSV exports contain email addresses. Treat them as PII. The download link is nonce-protected so it's not trivially shareable across sessions.

Are there developer hooks I can extend?

Yes. Three action hooks fire on opt-out events so you can sync opt-outs to a CRM, ESP, or your own logging:

  • do_action( 'flexa_unsubscribe_unsubscribed', $email, $reason ) - fires when an address is recorded as unsubscribed. $reason is '' for link-based opt-outs because the public page collects the reason in a follow-up step.
  • do_action( 'flexa_unsubscribe_resubscribed', $email ) - fires when an address is re-subscribed (opted back in).
  • do_action( 'flexa_unsubscribe_email_blocked', $email, $subject ) - fires for each recipient whose outbound email is blocked because they had opted out.
Example: add_action( 'flexa_unsubscribe_unsubscribed', 'my_sync_optout', 10, 2 );

更新日志:

3.1.9 3.1.8 3.1.7 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.2 3.0.0 2.0.2 2.0.1 2.0.0