| 开发者 | onetwothreesend |
|---|---|
| 更新时间 | 2026年5月13日 07:14 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 6.9 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
[otts_form id="1"], Gutenberg block, or PHP onetwothreesend_render_form(1).{first_name}, {email}, {site_name}, {from_name} placeholders.api.anthropic.com) — for drafting and editing newsletters. You provide the API key in Settings → AI. Terms: https://www.anthropic.com/legal/consumer-terms. Privacy: https://www.anthropic.com/legal/privacy.api.resend.com) — optional, for email delivery. You provide the API key in Settings → Email Provider if you choose Resend. Terms: https://resend.com/legal/terms-of-service. Privacy: https://resend.com/legal/privacy-policy.No — the plugin works fine without one if you write newsletters yourself. The AI features (Generate, Rewrite, Shorten, Expand, Fix grammar, subject-line suggestions, tone check) are all optional and only run when you click them. Without a key, you can still write a newsletter directly in the editor, run the pre-send audit, schedule it, and send to your subscribers. If you want the AI features, get a key at console.anthropic.com — free to sign up, pay-per-token usage — and paste it into Newsletter → Settings → AI.
Out of the box, no — the free plugin supports Resend and SMTP. The companion pro plugin adds Mailchimp, MailerLite, Brevo, and ConvertKit. Developers can also add providers by hooking the otts_make_provider filter.
No. Subscribers live in your own WordPress database (wp_otts_subscribers). Unsubscribe is one-click via a token in the email footer — no login required.
By default, your subscriber list, newsletter drafts, and settings are preserved. If you tick "Delete data on uninstall" in Settings → Advanced before deleting, the plugin drops its tables and removes all options.
Yes. The signup form uses a honeypot for spam protection instead of a nonce, so it is cache-safe.
wp_otts_send_retries table holds transient failures; a 5-minute cron worker re-fires them with exponential backoff (5m → 15m → 45m → 2h → 6h) up to 5 attempts. Subscribers get new bounce_state, soft_bounces, last_bounce_at, and last_delivery_at columns. The Resend provider now returns structured WP_Error values with a category so the classifier can act on them without re-parsing the response. A new "Send Health" admin page (Newsletter → Send Health) shows pending retries, bounced subscribers, recently resolved retries, and recent send results — and an admin notice fires whenever a send finishes with any non-success rows.Retry-After honoured (or 250ms default) before giving up.{email} in the URL is replaced with the URL-encoded email so a follow-up page (e.g. a Stripe-checkout pricing page) can pre-fill the address. Leave blank to keep the existing inline-message behaviour.otts_send_recipients so pro-plugin Stripe paywall can segment free vs paid subscribers per newsletter.otts_render_for_subscriber so pro-plugin paywall can substitute a teaser + Subscribe CTA when a free subscriber receives a paid-newsletter send.otts_settings_tabs filter, otts_render_settings_tab_{tab} and otts_save_settings_{tab} actions, so companion plugins can add their own tabs without modifying free-plugin files.%1$s, %2$s) in strings with multiple values.wp_handle_upload, wp_delete_file).$_POST / $_GET sanitization pipeline (wp_unslash → sanitize_*).$wpdb->prepare() end-to-end.load_plugin_textdomain() call; WP 4.6+ auto-loads translations.otts_form_types, otts_provider_choices, otts_make_provider, otts_editor_action, otts_audit_checks.{from_name} placeholder for email templates.