WP Manifestindependent plugin directory
manifest / email / shieldedsignups-for-listmonk

ShieldedSignups for Listmonk

Securely grow your list with ShieldedSignups for Listmonk. This lightweight WordPress plugin pairs elegant popups and inline forms with Cloudflare Turnstile protection.

by ShieldedSignups · github.com/jonas-hoebenreich/shieldedsignups-for-listmonk · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/jonas-hoebenreich/shieldedsignups-for-listmonk/archive/refs/heads/main.zip

Turnstile-protected newsletter signup forms for listmonk with inline and popup modes.

Description

ShieldedSignups for Listmonk adds secure newsletter signup forms to WordPress and sends subscriptions to your listmonk instance.

Features:

  • Cloudflare Turnstile server-side verification.
  • listmonk subscriber creation through the /api/subscribers endpoint.
  • Inline and popup form rendering via shortcode.
  • Popup triggers: 5-second delay and exit-intent.
  • Glassmorphism UI with animated success state.
  • WordPress nonce protection on AJAX requests.
  • Graceful error handling for common failure cases.

Installation

  1. Upload the shieldedsignups-for-listmonk folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the WordPress Plugins screen.
  3. Go to Settings -> ShieldedSignups.
  4. Configure:
    • Cloudflare Turnstile Site Key
    • Cloudflare Turnstile Secret Key
    • listmonk API URL
  • listmonk Username
  • listmonk credentials (Password for Basic Auth or API Token)
  • Target List ID

Usage

Add one of the following shortcodes to any post, page, or widget:

  • Inline form: [listmonk_form type="inline"]

  • Popup form: [listmonk_form type="popup"]

  • Use a specific list ID (defaults to the configured Target List ID when omitted): [listmonk_form type="inline" list="3"]

Optional attributes payload (JSON string) can be passed with:

[listmonk_form type="inline" attributes="{\"source\":\"wordpress\"}"]

Customize the success state text with:

[listmonk_form type="inline" thankyou_title="You're in!" thankyou_message="Check your inbox and click the confirmation link."]

Add custom CSS for a specific shortcode instance with:

[listmonk_form type="inline" custom_css=".ssflm-panel { border-color: #123456; }"]

Frontend styles and scripts are only loaded on pages where the shortcode is rendered.

Frequently Asked Questions

Are listmonk credentials exposed in frontend JavaScript?

No. Credentials are stored in WordPress settings and used only in server-side requests.

What happens if Turnstile validation fails?

The request is rejected and the user sees an Invalid Turnstile error.

What happens if the email is already subscribed?

The plugin returns an Email already exists error from the AJAX response.

Which credential method does listmonk use?

If API Token is set, it is used as Authorization: token username:token. Otherwise, Basic Auth with Username/Password is used.

Changelog

1.0.0

  • Initial release.
  • Added admin settings for Turnstile and listmonk.
  • Added shortcode rendering for inline and popup forms.
  • Added secure AJAX submission with nonce validation.
  • Added server-side Turnstile verification.
  • Added listmonk subscriber API integration.
  • Added glassmorphism form styling and animated success transition.

Upgrade Notice

1.0.0

Initial release.