Custom Datepicker Plus NMR
A powerful jQuery UI datepicker and timepicker for Contact Form 7 — with date exclusions, range pickers, multi-select, conditional fields, and more.
What it does
Contact Form 7’s built-in date field uses a plain HTML5 input — no control over date format, no way to block specific days, no date ranges. Custom Datepicker Plus NMR replaces it with a fully configurable jQuery UI datepicker, plus a dedicated timepicker tag, wired directly into CF7’s validation pipeline.
Features
📅 Date control
- Custom date format (
dd.mm.yy,yy-mm-dd, any jQuery UI format) - Absolute or relative min/max —
min:+1 max:+90,min:today - Restrict year dropdown range —
yearstart:2020 yearend:2035 - Month and year navigation dropdowns
- Configurable first day of week
🚫 Date exclusions
- Exclude specific dates or date ranges —
nmrexclude:2024-12-25|2024-12-26 - Exclude weekdays by name —
nmrexcludeweekdays:saturday|sunday - Pull blocked dates dynamically from a Custom Post Type —
nmrexcludecpt:blocked_dates - First available date auto-selected —
firstopen
🔗 Advanced fields
- Multi-date selection with optional cap —
multiselect maxselect:3 - Linked start/end date range —
nmrrangepair:end_field - Timepicker tag with min/max/step —
[timepickerplus] - Show or hide other CF7 fields when a date is picked —
nmrshowfield/nmrhidefield - Per-field custom validation error messages
Usage examples
Booking form — weekdays only, starting tomorrow, up to 90 days out:
[datepickerplus* bookingDate id:bookingDate format:dd.mm.yy min:+1 max:+90 nmrexcludeweekdays:saturday|sunday]
Check-in / check-out range (two linked fields):
[datepickerplus* checkIn id:checkIn nmrrangepair:checkOut min:+1]
[datepickerplus* checkOut id:checkOut min:+1]
Pick up to 3 session dates:
[datepickerplus* sessions id:sessions multiselect maxselect:3 errmsg_required:"Please select at least one session"]
Appointment date + time:
[datepickerplus* apptDate id:apptDate min:+1 nmrexcludeweekdays:saturday|sunday]
[timepickerplus* apptTime id:apptTime min:09:00 max:17:00 step:30]
Delivery date from CPT with auto-select of first open day:
[datepickerplus* delivery id:delivery nmrexcludecpt:blocked_deliveries nmrexcludeweekdays:sunday firstopen]
Show extra notes field only when a date is chosen:
[datepickerplus eventDate id:eventDate nmrshowfield:event_notes]
[textarea event_notes placeholder "Any special requirements?"]
Global settings
A dedicated settings page (Settings → Datepicker Plus NMR) lets you set site-wide defaults for date format, year range, first day of week, and month/year navigation. Every setting can still be overridden per field via shortcode parameters.
Requirements
- WordPress 5.0 or later
- Contact Form 7 (any recent version)
- No extra libraries — jQuery UI datepicker is bundled with WordPress core
Get the plugin
One-time purchase. Includes updates and support. License activated per site.
Questions? Use support at namir . ro or check the free plugin support forum for general usage questions.
