Custom Datepicker Plus NMR

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.