Skip to content

URL Structure & Permalinks

URL Structure & Permalinks

Tickets Please registers a set of rewrite rules that give your events, venues, organizers, and calendar views clean, predictable URLs. Understanding these patterns helps you build navigation, set up redirects, and troubleshoot 404 errors.

Calendar View URLs

These URLs control which calendar view visitors see and how they navigate through dates and pages.

URL PatternDescription
/events/Events archive (redirects to default view)
/events/list/List view
/events/list/page/{N}/List view, page N
/events/month/Month view (current month)
/events/month/{YYYY-MM}/Month view for a specific month
/events/day/Day view (today)
/events/day/{YYYY-MM-DD}/Day view for a specific date

Single Event URLs

URL PatternDescription
/event/{slug}/Single event page
/event/{slug}/{YYYY-MM-DD}/Specific instance of a recurring event
/event/{slug}/all/All instances of a recurring event

Note the difference: the archive uses events (plural) and single events use event (singular). Both slugs are customizable.

Taxonomy URLs

URL PatternDescription
/events/category/{slug}/Events in a specific category
/events/tag/{slug}/Events with a specific tag

Taxonomy archives support the same view suffixes. For example, /events/category/workshops/month/ shows the workshops category in month view.

Venue, Organizer, and Series URLs

URL PatternDescription
/venue/{slug}/Single venue page (with linked events)
/organizer/{slug}/Single organizer page (with linked events)
/series/{slug}/Event series page (all events in the series)

iCal Feed URLs

URL PatternDescription
/events/ical/iCal feed of all events
/event/{slug}/ical/iCal file for a single event
/events/category/{slug}/ical/iCal feed for events in a category

See Calendar Subscription & Export for details on how these feeds work.

Community URLs

URL PatternDescription
/events/community/add/Frontend event submission form
/events/community/list/User’s submitted events list

Customizing Slugs

You can change the base slugs under Events > Settings > General. The configurable slugs and their defaults:

SettingDefaultExample Result
Event archive slugeventsyoursite.com/events/
Single event slugeventyoursite.com/event/my-event/
Venue slugvenueyoursite.com/venue/city-hall/
Organizer slugorganizeryoursite.com/organizer/jane-doe/

After changing a slug, Tickets Please displays an admin notice prompting you to flush rewrite rules. Click the link in the notice, or go to Settings > Permalinks and click Save Changes. Until you flush, the old URLs return 404 errors.

Programmatic Slug Customization

For deeper customization, use the tickets_please_event_rewrite_slug filter in your theme or plugin:

add_filter( 'tickets_please_event_rewrite_slug', function ( $slug ) {
return 'happenings';
} );

This changes the single event base from /event/ to /happenings/. Remember to flush rewrite rules after adding or modifying this filter.

Troubleshooting 404 Errors

If event pages return 404 errors after installation, a slug change, or a WordPress update:

  1. Go to Settings > Permalinks in the WordPress admin.
  2. Click Save Changes without modifying anything. This flushes the rewrite rules.
  3. Visit the event URL again.

If the 404 persists, check whether another plugin or page is using the same slug. A WordPress page named “events” will conflict with the events archive slug. Either rename the page or change the events slug.

Common Questions

Can I change the events slug to my site’s root? Setting the archive slug to an empty string is not supported. The events archive needs a base slug to avoid conflicts with other WordPress routes.

Can I use a multi-level slug like calendar/events? Yes. Enter calendar/events as the archive slug. The resulting URLs will be /calendar/events/list/, /calendar/events/month/, and so on.

What happens to old URLs when I change a slug? Old URLs immediately return 404. Tickets Please does not create redirects automatically. Use a redirect plugin or server-level rules to redirect the old patterns to the new ones.

Can I remove the /event/ prefix from single event URLs? No. WordPress needs the prefix to distinguish event pages from regular pages and posts. Removing it would create ambiguous routes.

How do I find the URL for a specific event programmatically? Use the standard WordPress function get_permalink( $event_id ). It returns the full URL using the current slug configuration.

Do these URLs work with plain (non-pretty) permalinks? Tickets Please requires pretty permalinks. If your site uses plain permalinks (?p=123), the calendar views and custom slugs will not work. Go to Settings > Permalinks and select any structure other than “Plain.”

Next Steps