{CODICTS} Snippets is now available

Elementor Forms Better Time Picker

The {CODICTS} Better Time Picker for Elementor Forms plugin replaces the default time picker in Elementor Pro forms with a modern, Material Design–style analog clock picker. The replacement is fully automatic — install the plugin, activate it, and every Elementor time field on your site receives the upgraded picker. No settings page, no configuration. Users select hours and minutes from a circular clock face with AM/PM toggle, Ok/Cancel buttons, and a clean dark theme.

Requirements

RequirementDetails
Elementor ProMust be installed and active with the Form widget

No child theme required. No settings page. This plugin does not override any template files and has zero configuration. It works immediately upon activation by automatically detecting Elementor time fields and replacing them with the upgraded clock picker.

Installation & Activation

Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.

After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.

That’s it — visit any page with an Elementor form containing a Time field to see the new clock picker.


Key Features

FeatureDescription
Automatic ReplacementDetects Elementor time fields and replaces them with the Material Design clock picker — no configuration needed.
Analog Clock UICircular clock face for selecting hours and minutes. Users first pick the hour, then the clock switches to minute selection.
AM/PM ToggleClick the AM/PM badges on the clock face or the period label in the header to switch.
Dark ThemeShips with an elegant dark theme by default. Additional built-in themes available via customization.
Dynamic Content SupportAutomatically catches time fields rendered after page load — works inside Elementor popups, AJAX-loaded content, and multi-step forms.
Ok / Cancel ButtonsConfirm or discard the time selection with clear action buttons.
Keyboard SupportPress Enter to open the picker, Escape to close it.
Zero ConfigurationNo admin settings page. Works immediately upon activation.

How It Works

The plugin automatically detects all Elementor time fields on the page and replaces the default Flatpickr-based time picker with the Material Design clock picker.

1. When a page loads, the plugin scans for Elementor time fields.

2. Each detected time field is replaced with a new input connected to the analog clock picker. The field’s name and ID are preserved so form submissions continue to work seamlessly.

3. The plugin continuously monitors the page for new time fields (e.g., inside popups or AJAX-loaded content) and replaces them automatically.

The Clock Picker Interface

When a user clicks on a time field, the clock picker opens:

ElementDescription
Time display headerShows the currently selected time and AM/PM indicator at the top.
Clock faceCircular analog clock with hour or minute digits arranged around the edge. Click any digit to select it.
AM/PM badgesToggle between AM and PM by clicking the badges on the clock face.
Two-step selectionFirst select the hour — the clock automatically switches to minute selection.
Action buttons“Ok” to confirm the selection, “Cancel” to discard.

The selected time is written back to the form field in hh:mm format (e.g., 02:30).


When using the time picker inside an Elementor Popup, you must enable the following setting to prevent the popup from closing when the user interacts with the clock:

Popup Settings → Advanced → Prevent Closing on Overlay → Yes

Why: The clock picker renders its own overlay on top of the Elementor popup overlay. Without this setting, clicking the clock’s background may inadvertently close the popup.


Customization

The plugin works with zero configuration out of the box. For advanced users who want to customize the behavior, the following options are available by editing the plugin’s JavaScript file (assets/js/scripts.js).

Changing the Theme

The plugin ships with the dark theme by default. Seven built-in themes are available:

ThemeAccent Color
dark (default)Dark background with blue accent buttons
blueBlue header and accent
redRed header and accent
greenGreen header and accent
tealTeal header and accent
purplePurple header and accent
indigoIndigo header and accent

To change the theme, open assets/js/scripts.js and modify the theme value:

Screenshot 2569 02 26 At 21.29.52 - Codicts Docs

Changing the Time Format

To change how the selected time is displayed in the field, modify the format value:

Format StringOutput ExampleDescription
'hh:mm'02:3012-hour, zero-padded (default)
'h:mm tt'2:30 PM12-hour with AM/PM label
'h:mm t'2:30 pm12-hour with lowercase am/pm
'hh:mm:ss'02:30:00With seconds

Enabling 24-Hour Mode

To use a 24-hour clock instead of AM/PM, add is24hour: true:

Screenshot 2569 02 26 At 21.28.52 - Codicts Docs

Adding Custom CSS

To add custom style overrides, edit assets/css/styles.css. This file is loaded after the library CSS and is currently empty, reserved for your customizations. Any rules you add here will take precedence over the default styles.

Note: Plugin updates will overwrite your changes to these files. Back up your customizations before updating and re-apply them after.


Example — Basic Elementor Form with Time Field

1. Activate the plugin.

2. In Elementor, add a Form widget to your page.

3. Add a Time field to the form.

4. Save and preview the page. When a user clicks the time field, the Material Design analog clock picker opens instead of the default Elementor time picker. They select the hour, then the minute, toggle AM/PM, and click Ok.


Example — Time Field Inside an Elementor Popup

1. Create an Elementor Popup with a Form widget containing a Time field.

2. In the popup settings, go to Advanced → Prevent Closing on Overlay → Yes.

3. Publish the popup. When users trigger the popup and click the time field, the clock picker opens on top of the popup. The popup stays open while the user interacts with the clock.


Frequently Asked Questions

Does this require any configuration?

No. The plugin works immediately upon activation with zero configuration. There is no settings page. All Elementor time fields are automatically upgraded.

Does this require a child theme?

No. The plugin does not override any template files.

Does this require Elementor Pro?

Yes. The plugin targets Elementor Pro’s Form widget time fields. Without Elementor Pro and a form containing a time field, the plugin has no effect.

Does it work inside Elementor Popups?

Yes. The plugin automatically detects time fields rendered inside popups and AJAX-loaded content. However, you must enable Popup Settings → Advanced → Prevent Closing on Overlay → Yes to prevent the popup from closing when interacting with the clock picker.

Does it work with multi-step forms?

Yes. The plugin continuously monitors the page for new time fields, so fields revealed in later steps of a multi-step form are automatically detected and upgraded.

Can I use this with non-Elementor forms?

Not out of the box. The plugin specifically targets Elementor’s time field HTML structure. To use it with other forms, you would need to modify the plugin’s JavaScript to target different selectors.

Can I change the theme or time format?

Yes. Edit assets/js/scripts.js to change the theme (7 built-in themes available) or format (12-hour, 24-hour, with/without AM/PM label). See the Customization section for details.

Why does the original picker briefly flash before being replaced?

The plugin checks for new time fields every 300 milliseconds. In rare cases, the original Elementor picker may briefly appear before the replacement kicks in. This flash is typically imperceptible and the replacement happens within 300ms.

Will form submission still work after the replacement?

Yes. The replacement input preserves the original field’s name and ID attributes, so Elementor’s form submission logic continues to work seamlessly.

Is there a settings page?

No. The plugin is designed as a zero-configuration solution. All customization is done by editing the JS and CSS files directly.

Does the plugin create any database tables?

No. The plugin stores no data in the database. It only loads JavaScript and CSS files on the frontend to replace the time picker.

What happens when the plugin is deactivated?

Elementor’s original Flatpickr time picker is restored automatically. No data or settings need to be cleaned up since the plugin stores nothing.


Troubleshooting

Clock Picker Not Appearing

CauseSolution
Elementor Pro not activeThe plugin requires Elementor Pro with the Form widget. Verify Elementor Pro is installed and active.
No Time field in the formThe plugin only targets Time fields, not Date fields. Ensure your Elementor form has a Time field type.
Plugin not activatedGo to Plugins → Installed Plugins and verify the plugin is active.
JavaScript errorCheck the browser console (F12 → Console) for errors. Other plugins or themes may conflict with jQuery or the clock picker library.

Popup Closes When Clicking the Clock Picker

CauseSolution
Popup overlay settingIn the Elementor Popup settings, go to Advanced → Prevent Closing on Overlay → Yes. The clock picker renders its own overlay, and the popup may interpret clicks on it as “outside” clicks.

Selected Time Not Submitted with the Form

CauseSolution
Missing field attributesThe replacement only occurs if the original Elementor time input has an id attribute. Verify the Elementor form field is properly configured.
Script conflictAnother plugin or script may be interfering with the form inputs after the replacement. Check the browser console for errors and try disabling other plugins to isolate the conflict.

Original Picker Briefly Flashes Before Replacement

CauseSolution
Normal behaviorThe plugin checks for time fields every 300 milliseconds. The brief flash is typically imperceptible. If it is noticeable, it is because Elementor’s script initializes before the plugin’s first check. This does not affect functionality.

For further support, visit codicts.com or contact us at support@codicts.com.

CoDicts Co., Ltd. © 2021-2026. All rights reserved