Flinkform – Forms for the Block Editor
Flinkform is a form builder that lives entirely inside the WordPress Block Editor. Forms are composed from native blocks (block.json v3), styled through theme.json design tokens, and powered by the Interactivity API — no separate admin UI, no shortcodes, no jQuery. How it works Block Editor native — forms are built with block.json and the Interactivity API, directly inside the editor theme.json styling — forms inherit your theme’s typography, colours and spacing automatically Modern stack — WordPress 6.5+, PHP 8.1+, no jQuery, frontend JS under 15 KB gzipped Multi-step forms — split long forms into steps with a Page Break block, included in the free core Conditional logic — show/hide fields based on user input, included in the free core WCAG 2.1 AA — full keyboard navigation, screen-reader compatible, aria-live announcements Privacy by design — no external services, no tracking cookies, no IP tracking — everything stays on your server Features (free core) Form building * 13 field types: Text, Email, Textarea, Number, Date, URL, Phone, Select, Radio, Checkbox, Toggle, Hidden, Section Heading * Dedicated Consent field for privacy-policy agreement * Multi-step forms with Page Break block, per-step validation and progress indicator (bar, dots or numbers) * Conditional logic — show/hide fields, skip steps, gate the submit button * Two-column layout with per-field full-width override Styling * Automatic theme.json inheritance (colours, typography, spacing, border radius) * Style panel: primary colour, field style (bordered/soft/underline/minimal), label position (above/beside/floating/placeholder), submit button style (fill/outline/ghost) Notifications * Admin notification email on every submission (configurable recipient, merge tags) * Optional confirmation email to the submitter * Sends through your site’s standard WordPress mail (wp_mail) Spam protection * Always-on honeypot + signed time-based check (zero configuration) * Built-in proof-of-work challenge with accessible math fallback for visitors without JavaScript * No external service, no API keys, no tracking cookies, 100% GDPR-friendly After submission * Success message or redirect to a custom thank-you URL (with open-redirect protection) * Optional submission ID and form ID query parameters for conversion tracking (GA4, Meta Pixel, Plausible, etc.) Admin * Submissions list with search, filter by form, sort, bulk actions * Single-submission detail view with all field labels and values * Mark as read/unread * Per-form data retention with automatic daily purge Privacy Flinkform is built with privacy by default. Here is what the free core does and does not do: What the free core stores: * Form submissions (the field values visitors enter) in a dedicated database table ({prefix}flinkform_submissions) What the free core does NOT do: * It stores no IP addresses and no browser user-agent strings * It sets no tracking, analytics or marketing cookies. Flinkform sets exactly one strictly-necessary cookie — flinkform_flash (lifetime ~60 seconds, httpOnly) — and only when a form submission fails validation, to carry the error message and the visitor’s input across the page reload. Successful submissions set no cookie at all * It contacts no external service Data retention: * By default, submissions are retained until you delete them. To comply with the storage-limitation principle (GDPR Art. 5), set a per-form retention period (Form block → Data Retention) and Flinkform deletes older submissions automatically each day * Individual submissions can be deleted from the admin submissions screen at any time Data deletion: * All free-core data (the submissions table) is permanently removed when the plugin is uninstalled through the WordPress admin * Flinkform integrates with WordPress’s privacy tools (Tools > Export Personal Data / Erase Personal Data) to support data-subject access and erasure requests Source Code The complete, uncompiled source code (including the src/ directory with the unminified JavaScript/CSS that compiles into build/) is publicly available at: https://github.com/dennisbuchwald/Flinkform Build instructions (Node.js 18+ and npm required): 1. Clone the repository: git clone https://github.com/dennisbuchwald/Flinkform.git 2. Install dependencies: npm install 3. Build the compiled assets into build/: npm run build The build is powered by @wordpress/scripts (webpack). The src/ sources are excluded from the distributed plugin zip to keep it small; this repository is the canonical, reviewable source.
Top keywords
- flinkform9×1.37%
- submissions9×1.37%
- block7×1.07%
- data7×1.07%
- form7×1.07%
- build6×0.92%
- core6×0.92%
- forms6×0.92%
- wordpress6×0.92%
- admin5×0.76%
- field5×0.76%
- json5×0.76%
Visibility Logic for Elementor
Visibility Logic adds powerful conditional display conditions to every Elementor widget, section, and container. Control exactly who sees what, when, and on which device — without writing a single line of code. Hidden elements are completely removed from the HTML (not just hidden with CSS), keeping your pages fast and your content secure. When to use Visibility Logic Restrict content to logged-in users, specific roles, or subscribers Schedule content to appear during a sale, event, or launch window Personalize pages based on user meta, ACF custom fields, or device type Show/hide elements for Desktop, Tablet, or Mobile visitors A/B test layouts by showing different content to different user segments Hide empty sections automatically when all child widgets are hidden Free Conditions ACF Fields (NEW) — Show/hide based on Advanced Custom Fields values on the current post or page. 7 operators: is empty, is not empty, equals, not equals, contains, is true, is false. Device Type (NEW) — Target Desktop, Tablet, or Mobile users with server-side User-Agent detection. Hidden elements are fully removed from HTML. User Role — Logged in, logged out, or specific roles (Administrator, Editor, Subscriber, custom roles). User Meta — Show/hide based on any user meta field value. Date & Time — Schedule visibility with “from” and “to” dates. Perfect for sales, events, and time-limited content. Browser Type — Target Chrome, Firefox, Safari, Edge, Opera, iPhone, Android, and more. Flexbox Containers — Full support for Elementor’s Flexbox containers, classic sections, and nested containers. Hide When Empty — Automatically hide a parent section/container when all child widgets are hidden by visibility conditions. PRO Conditions Advanced ACF — Repeater fields, options page, term meta, user fields, specific post/user sources, AND/OR logic with 17 operators. Language — Show/hide based on current language. Supports WPML, Polylang, and TranslatePress. URL Parameters — Standalone query string conditions with repeater support and 9 operators. Geo Location — Display elements based on visitor’s country using MaxMind geolocation. Dynamic Conditions — Use all Elementor Pro Dynamic Tags as visibility conditions. WooCommerce — Restrict content based on order history, active subscriptions, or customer status. Easy Digital Downloads — Restrict based on purchase history or subscription status. Advanced User Meta — Multiple user meta conditions with AND/OR logic. Post & Page, Taxonomy — Show/hide based on current post type, specific pages, or taxonomy terms. Archive — Conditions based on post type archives and taxonomy archives. IP & Referrer — Target visitors by IP address or referral source. WordPress Conditional Tags — Use any WordPress conditional tag as a visibility condition. Fallback Content — Replace hidden elements with a custom text message or an Elementor template. Copy/Paste — Right-click to copy visibility settings between widgets or sections. Get Visibility Logic Pro and unlock all conditions. How it works Edit any page with Elementor Select a widget, section, or container Go to the Visibility tab (or Advanced → Visibility Control) Enable conditions and configure your display rules Save — elements are shown or hidden on the live site based on your rules More from StaxWP BuddyBuilder — BuddyPress Builder for Elementor — Build stunning BuddyPress communities with Elementor. Elementor Addons & Widgets — Powerful widgets to help you build stunning pages. Woo Addons for Elementor — Elementor enhancements for WooCommerce. Privacy Policy We use Appsero SDK to collect some telemetry data upon user’s confirmation. This helps us troubleshoot problems faster and make product improvements. Found a bug? Report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team helps validate, triage, and handle any security vulnerabilities. Credits This plugin implements some functionality similar to: * Dynamic Content for Elementor (GPL v2 or later)