The trigger: a customer's frustration
Have you ever found yourself struggling with the date picker field in Fluent Forms? I have. A client with a cozy 2-room B&B needed a simple request form. Not really a problem with Fluent Forms, is it?
- The first step was to block a few public holidays - this could be done quickly using the advanced settings of the date picker.
- Then came the desire to block appointments that had already been booked via other platforms.
- And then the marathon of manual date entry began ... for each Room, with each new booking.
You guessed it - the whole thing became a time-consuming source of errors.
The idea: centralize and optimize
I needed a smarter solution. Instead of customizing each form individually, I thought: What if there was a central place to manage all blocked data? And what if these "block lists" could simply be each Fluent Form on the website? The goal: less repetition, more control - and a system that can grow with you.
The solution: Advanced date management for Fluent Forms
This plugin makes exactly that possible. It shifts date blocking from an individual form task to an intelligent, page-wide strategy. You define your blocked date sets once (e.g. "Holidays", "Room A not available", "Room B maintenance") using a custom post type and then assign them to the desired Fluent Forms via ID.
What makes this plugin so special?
- Central control: Manage all your locked date lists in a user-friendly interface (thanks to Custom Post Type).
- Multiple assignment: A lock set can be assigned to several Fluent Forms - ideal for companies with several services, rooms or event types.
- Flexible locking sets: Create as many individual sets of locked data as you need.
- Dynamic check-out data: Set up check-in/check-out fields so that selecting a check-in date automatically disables locked check-out dates.
- Bricks Builder compatibility: Specially developed for integration with the Bricksextras Fluent Form Element.
- Shortcode support: Includes fallback support for classic Fluent Form shortcodes.
- Open & expandable: Uses standard WordPress technologies such as CPTs and Metaboxes - comprehensible and expandable (optionally also usable with ACF).
Practical example: The B&B setup
This is how the plugin solves my customer's original problem:
- A custom post type "Room" was created in the Bricks Builder.
- Each "Room" element contains a user-defined field with the
FluentFormID
of his request form. - A single Bricks template for "Room" dynamically loads the matching Fluent Form using the ID via the Bricksextras Fluent Form element.
- Two Fluent Forms exist (one for each room) - both with "Check-in" and "Check-out" fields.
- With Extended date management for Fluent Forms blocking sets such as "B&B holidays" and "Room-specific booking data" were created.
- These lock sets were assigned to the respective Fluent Form IDs.
Result: When a guest selects a check-in date on the room request form, the check-out date picker automatically deactivates all dates that conflict with the predefined blocking times. Smoothly!

Technical overview
- Uses a custom post type (e.g. "Date locks") to save the lock sets.
- Links the lock sets to Fluent Forms via numerical form IDs.
- Recognizes the Bricksextras Fluent Form element on page load, with fallback to standard shortcodes. (This logic can be simplified if only shortcodes are used).
- Date locking is mostly based on Flatpickr.js - the same date picker that Fluent Forms and Bricks use.
How do you get started?
- Download: Download the latest release from [GitHub repository link here].
- Installation: Upload the plugin to the WordPress dashboard and activate it.
- Configuration:
- Navigate to the new custom post type in the admin area (e.g. "Date locks").
- Create new lock sets and add the desired lock data.
- For each lock set, specify which Fluent Form ID(s) it should be applied to.
- Make sure that the date fields in your Fluent Forms are set up correctly (especially for check-in/check-out logic).
Bonus idea & future potential
It would be great if Fluent Forms came with real fields out of the box. Date ranges ("booking period") - this would make check-in and check-out fields superfluous and simplify the logic.
In addition, there is potential to integrate the plugin directly with the Bricks Date Picker element to further extend the range of applications.
A brief note on scalability:
The plugin has been thoroughly tested in a setup with 2 rooms, 2 forms and several lock sets. It was designed for scalability, but the performance with e.g. 10-20 active forms with complex locking logics has not yet been formally measured. Feedback on larger use cases is welcome!
Why try it out?
If you're tired of managing locked dates manually in Fluent Forms or are looking for a reusable system for date-based restrictions (e.g. for appointments, rentals, event registrations), then this plugin is for you. It simplifies the process, reduces sources of error and saves valuable time.
Test it for yourself!
Fluentforms Date Blocker Github
This plugin is open source (MIT license). It was born out of a real customer need - and I believe it can help others too. If you have questions, want to give feedback or encounter problems: Please open an issue on GitHub. Your feedback is very welcome!