Hype5 Theater 0.6.17 · Pre-release
Data model
Hype5 Theater stores content as WordPress posts, taxonomy terms, post and term meta and options, plus four custom tables for relationships and events that are not posts. This page describes the model at a conceptual level so that developers know where data lives; it is not a schema reference. The database schema is versioned and migrated by the plugin itself.
Post types
| Post type | Content | Archive | Default address base |
|---|---|---|---|
hype5t_production |
A production: story, facts, media, visitor information | yes | productions |
hype5t_person |
A person profile | yes | people |
hype5t_venue |
A venue | no | venues |
All three are public, support title, editor, excerpt, featured image and revisions, are available in REST (show_in_rest) and always use the Classic Editor. The address bases are configurable (see Settings).
Taxonomies
| Taxonomy | Assigned to | Hierarchical | Public address | Term meta |
|---|---|---|---|---|
hype5t_genre |
productions | yes | yes (theater-genre by default) |
— |
hype5t_audience |
productions | no | no | _hype5t_min_age, _hype5t_max_age |
hype5t_warning |
productions | no | no | _hype5t_warning_category (technical, content), _hype5t_warning_description |
hype5t_profession |
people | no | no | — |
Every term can carry _hype5t_inactive (paused). Paused terms remain assigned and remain in public queries; editors no longer offer them.
Post meta
Hype5 meta keys start with _hype5t_. In outline:
- Production — facts (
_hype5t_premiere,_hype5t_premiere_venue,_hype5t_duration,_hype5t_acts,_hype5t_intermission_duration,_hype5t_language), repertory status (_hype5t_status:coming,playing,paused,archived), relationship and presentation mode, teaser, visitor texts, accessibility markers (_hype5t_access_features), gallery (_hype5t_gallery_ids), programme, ELAB identifiers, historical audience, and repeatable row lists (_hype5t_files,_hype5t_videos,_hype5t_audio_links,_hype5t_external_galleries,_hype5t_partners,_hype5t_articles,_hype5t_links,_hype5t_visitor_rows,_hype5t_credit_notes). - Person — birth date, sort name, company relationship, profile visibility (
_hype5t_profile_visible,'0'= hidden), directory visibility (_hype5t_directory_visible,'0'= hidden), profile gallery, ELAB identifiers. - Venue — address fields, room, website, arrival and access notes, wheelchair and hearing-loop defaults (
'1'yes,'0'no, empty unknown), coordinates. - Production and person —
_hype5t_display: per-record presentation overrides (only stored keys override the global settings). - Media attachments —
_hype5t_photographer,_hype5t_photographer_url.
Storage formats of meta are internal. Read public data through the shortcodes, templates, REST routes and stable services rather than directly.
Custom tables
Table names use the WordPress table prefix followed by hype5t_.
| Table | Holds | Notes |
|---|---|---|
{prefix}hype5t_credits |
One row per credit: production, person or free name, job, character, group, affiliation, alternating set, order, public flag. | Linked to the original-language production and person. |
{prefix}hype5t_performances |
One row per performance: production, venue, start and end in UTC, own time zone, occurrence status, room, attendance, replacement link, events, services, accessibility overrides, internal note, timestamps. | InnoDB. Not WordPress posts. |
{prefix}hype5t_ticket_offers |
Ticket offers of a performance: seller, label, URL, price range, currency, availability, note, order. | InnoDB; written together with the performance. |
{prefix}hype5t_media_links |
Links between attachments and records, for example people tagged in a production's gallery images. |
On permanent deletion of an original-language post: a production's credits and gallery links are deleted, but its performances and their offers are kept as history (public output ignores performances of missing or unpublished productions); a person's credits and media links are deleted; a venue's performances lose their venue. Moving to the Trash changes nothing in these tables.
Options
| Option | Holds |
|---|---|
hype5t_settings |
Settings: permalink bases, display defaults, clean single templates. |
hype5t_appearance |
Global presentation settings, section orders, visible filters, colour tokens. |
hype5t_custom_css |
Custom CSS. |
hype5t_labels |
Public text overrides per locale. |
hype5t_vocabularies |
The theatre's own content-type options. |
hype5t_collection_routes |
Chosen collection pages. |
hype5t_fuajee_testers |
The access list of the Hype5 app: IDs of the users for whom it is enabled (unless HYPE5_THEATER_FUAJEE enables it for everyone). |
hype5t_db_version, hype5t_caps_version, hype5t_collection_rewrites |
Internal bookkeeping for migrations, capabilities and rewrite rules. |
The Hype5 app also stores short-lived records in wp_options to make repeated schedule saves idempotent; they are not autoloaded, and records older than two days are removed during later saves.
Schema versions and migrations
The plugin records its database version in hype5t_db_version and compares it with the version the code expects. Tables are created and updated on activation and, after an update, on the next admin page load by a user with manage_options. A migration is marked complete only when every step has succeeded; otherwise administrators see a notice and it is retried. Settings → Advanced in the Hype5 app (or the System Status screen) shows the database version and the state of each table.
Removing the plugin does not delete tables, options or posts.