How to Add a Time Picker to WordPress Forms
Appointment bookings, event registrations, scheduling forms—they all need time selection. A proper time picker makes selection easy: users pick from valid times, your data stays consistent, and nobody types “elevenish” into a text field. Whether you need 15-minute slots for appointments or hourly blocks for meetings, a time picker handles it all.
In this guide, you’ll learn how to add and configure time picker fields in your WordPress forms.
Why Use a Time Picker?
Problems with Text Fields for Time
- “11:00 AM” vs “11am” vs “11:00” vs “eleven”
- Invalid times entered (25:00, 11:75)
- Format confusion (AM/PM vs 24-hour)
- Time zone ambiguity
- Manual validation needed
Benefits of Time Picker
- Consistent format every time
- Only valid times selectable
- Restrict to business hours
- Set time intervals (15, 30, 60 min)
- User-friendly selection
- Works great on mobile
Time Picker Use Cases
Appointment Booking
- Select available time slot
- Restrict to business hours
- 15 or 30-minute intervals
Event Registration
- Session start times
- Arrival time preferences
- Pickup/dropoff times
Delivery Scheduling
- Preferred delivery window
- Morning/afternoon/evening slots
- Specific time requests
Meeting Requests
- Suggested meeting times
- Available time ranges
- Call scheduling
Service Requests
- Callback time preferences
- Service appointment times
- Consultation scheduling
Adding a Time Picker
Step 1: Add Time Field
- Open your form in AFB
- Find the Time field in the sidebar
- Drag it onto your form canvas
- Click to configure settings
Step 2: Choose Time Format
12-Hour Format (AM/PM)
- 9:00 AM, 2:30 PM, 11:00 PM
- Common in US, Canada, Australia
- Familiar to most users
24-Hour Format
- 09:00, 14:30, 23:00
- Common in Europe, military, healthcare
- No AM/PM confusion
Step 3: Set Time Interval
How often time slots appear:
- 15 minutes: 9:00, 9:15, 9:30, 9:45…
- 30 minutes: 9:00, 9:30, 10:00, 10:30…
- 60 minutes: 9:00, 10:00, 11:00, 12:00…
- Custom: 5, 10, 20 minutes, etc.
Step 4: Configure Restrictions
- Minimum time: Earliest selectable time
- Maximum time: Latest selectable time
- Default time: Pre-selected value
Step 5: Set Label and Help Text
- Label: “Preferred Time”, “Appointment Time”
- Help text: “Select a time between 9:00 AM and 5:00 PM”
- Required: Toggle on if mandatory
Configuration Examples
Business Appointment
Label: “Preferred Appointment Time”
Format: 12-hour (AM/PM)
Interval: 30 minutes
Min time: 9:00 AM
Max time: 5:00 PM
Required: Yes
Help text: “We’re available Monday-Friday, 9 AM – 5 PM”
Available slots: 9:00 AM, 9:30 AM, 10:00 AM… 4:30 PM
Medical Clinic
Label: “Appointment Time”
Format: 12-hour (AM/PM)
Interval: 15 minutes
Min time: 8:00 AM
Max time: 4:45 PM
Required: Yes
Help text: “Appointments available every 15 minutes”
Restaurant Reservation
Label: “Reservation Time”
Format: 12-hour (AM/PM)
Interval: 30 minutes
Min time: 11:00 AM
Max time: 9:30 PM
Required: Yes
Help text: “Lunch: 11 AM – 2 PM, Dinner: 5 PM – 10 PM”
Callback Request
Label: “Best Time to Call”
Format: 12-hour (AM/PM)
Interval: 60 minutes
Min time: 9:00 AM
Max time: 6:00 PM
Required: Yes
Help text: “We’ll call within an hour of your selected time”
Delivery Window
Label: “Preferred Delivery Time”
Format: 12-hour (AM/PM)
Interval: 60 minutes
Min time: 8:00 AM
Max time: 8:00 PM
Required: Yes
Help text: “Deliveries made within 2-hour windows”
24-Hour Healthcare Facility
Label: “Preferred Visit Time”
Format: 24-hour
Interval: 30 minutes
Min time: 00:00
Max time: 23:30
Required: Yes
Help text: “We’re open 24 hours”
Time Format: 12-Hour vs 24-Hour
12-Hour Format (AM/PM)
Examples:
- 9:00 AM (morning)
- 12:00 PM (noon)
- 3:30 PM (afternoon)
- 11:00 PM (night)
Best for:
- US, Canada, Australia audiences
- Consumer-facing forms
- General public
Potential confusion:
- 12:00 AM = midnight
- 12:00 PM = noon
- Add help text if needed
24-Hour Format
Examples:
- 09:00 (9 AM)
- 12:00 (noon)
- 15:30 (3:30 PM)
- 23:00 (11 PM)
Best for:
- European audiences
- Military, aviation, healthcare
- Technical/professional contexts
- Avoiding AM/PM confusion
Choosing the Right Format
| Audience | Recommended Format |
|---|---|
| US/Canada general public | 12-hour (AM/PM) |
| European users | 24-hour |
| Healthcare/medical | 24-hour (avoids errors) |
| International business | 24-hour |
| Consumer apps | 12-hour (familiar) |
Time Intervals Explained
15-Minute Intervals
9:00, 9:15, 9:30, 9:45, 10:00, 10:15...
Best for:
- Medical appointments
- Short consultations
- High-volume scheduling
- Precise time selection
30-Minute Intervals
9:00, 9:30, 10:00, 10:30, 11:00, 11:30...
Best for:
- Standard appointments
- Business meetings
- Most common choice
- Good balance of precision and simplicity
60-Minute Intervals
9:00, 10:00, 11:00, 12:00, 1:00...
Best for:
- Hourly appointments
- Class schedules
- Simple time preferences
- Callback requests
Custom Intervals
- 5 minutes: Very precise scheduling
- 10 minutes: Quick appointments
- 20 minutes: Short sessions
- 45 minutes: Therapy/coaching sessions
- 90 minutes: Extended appointments
Restricting Time Range
Business Hours (9-5)
- Min: 9:00 AM
- Max: 5:00 PM
- Only business hours shown
Extended Hours (8-8)
- Min: 8:00 AM
- Max: 8:00 PM
- Longer availability window
Morning Only
- Min: 8:00 AM
- Max: 12:00 PM
- Morning appointments only
Afternoon Only
- Min: 1:00 PM
- Max: 5:00 PM
- Afternoon slots only
Evening Hours
- Min: 5:00 PM
- Max: 9:00 PM
- After-work appointments
24-Hour Availability
- Min: 12:00 AM (or 00:00)
- Max: 11:59 PM (or 23:59)
- All times available
Combining Date and Time
Separate Fields
Date: [Date Picker] Time: [Time Picker]
Pros:
- Each field focused
- Independent validation
- Flexible configuration
Cons:
- Two fields to fill
- Can’t show date-specific times
Recommended Layout
Appointment Date: [___________] 📅 Appointment Time: [___________] 🕐
Position date before time (logical flow).
Validation Considerations
- Date restrictions (future only, weekdays)
- Time restrictions (business hours)
- Both required for complete booking
Default Time Values
No Default
- User must actively choose
- No assumptions made
- Best for appointments
Common Default
- Pre-select most popular time
- 9:00 AM for morning-focused
- 2:00 PM for afternoon-focused
Current Time Rounded
- Round current time to next interval
- Dynamic default
- Good for “now” scheduling
Show Seconds (Optional)
When to Include Seconds
- Scientific/research timing
- Precise logging
- Technical applications
When to Skip Seconds
- Appointments (9:00 AM not 9:00:00 AM)
- Most user-facing forms
- Cleaner interface
For 99% of forms, hide seconds.
User Experience Tips
Clear Labels
- “Appointment Time”
- “Preferred Call Time”
- “Pickup Time”
Helpful Context
- “Business hours: 9 AM – 5 PM”
- “Select a time slot”
- “All times are Eastern Time (ET)”
Time Zone Clarity
If serving multiple time zones:
- State your time zone clearly
- “All times shown in Pacific Time”
- Consider adding time zone selector
Visual Consistency
- Match date picker style
- Consistent field sizing
- Clear selection states
Mobile Considerations
Native Time Picker
- Mobile browsers show native picker
- Scroll wheels on iOS
- Touch-friendly interface
Touch Targets
- Large enough to tap
- Easy to scroll through times
- Clear selection indication
Responsive Design
- Full-width on mobile
- Readable font sizes
- Adequate spacing
Validation
Required Validation
- “Please select a time”
- Can’t submit without selection
Range Validation
- Must be within min/max
- “Please select a time between 9 AM and 5 PM”
Interval Validation
- Must match interval steps
- Usually automatic with picker
Troubleshooting
Wrong Format Displaying
- Check format setting (12 vs 24 hour)
- Verify setting saved
- Clear cache and preview
Times Outside Range Showing
- Verify min/max time settings
- Check for AM/PM errors in config
- 24-hour: 17:00 = 5:00 PM
Intervals Not Working
- Confirm interval setting
- Check if min time aligns with interval
- 9:00 with 30-min interval = 9:00, 9:30…
Mobile Picker Different
- Native pickers vary by OS
- iOS and Android differ
- Functionality should match
Frequently Asked Questions
Should I use 12-hour or 24-hour format?
12-hour for US/Canadian consumers and general public. 24-hour for European audiences, healthcare, or technical users. When in doubt, match your audience’s expectations.
What interval should I use?
30 minutes works for most appointments. 15 minutes for medical/quick appointments. 60 minutes for simple preferences or callbacks.
How do I handle different time zones?
State your time zone clearly in help text: “All times are Eastern Time.” For complex needs, add a time zone dropdown field.
Can I have different times on different days?
Basic time pickers show the same options regardless of date. For day-specific availability, you’d need more advanced scheduling or use help text to explain variations.
Should I include seconds in time picker?
Almost never for user-facing forms. Appointments and preferences don’t need second-level precision. Hide seconds for cleaner UX.
Summary
Adding a time picker to WordPress forms:
- Add Time field – Drag to form
- Choose format – 12-hour (AM/PM) or 24-hour
- Set interval – 15, 30, or 60 minutes typically
- Configure restrictions – Min and max time
- Write clear label – Describe what time is for
- Add help text – Include time zone if relevant
- Test on mobile – Verify touch-friendly
- Combine with date – For complete scheduling
Conclusion
Time pickers transform scheduling questions from chaotic text entries into clean, validated selections. Users pick from available slots, your data stays consistent, and nobody enters invalid times. Configure the right format for your audience, set appropriate intervals for your business, and restrict to your actual availability.
Auto Form Builder includes a Time field with 12/24-hour formats, configurable intervals, and min/max time restrictions. Build professional scheduling forms that capture times accurately.
Ready to add time selection? Download Auto Form Builder and create forms with user-friendly time pickers.