The Kiosk Hub [event_monitor_hub] solves the single largest logistical headache on set-up day: a universal visual launchpad for every screen – tap to select instead of typing long URLs on on-screen keyboards.
The Problem the Hub Solves
At any convention you quickly deploy ten to twenty displays: a ticker in the foyer, room monitors outside halls, tablets at workshop rooms. Every display needs its own URL:
https://my-congress.com/display-hall-a/https://my-congress.com/display-hall-b/https://my-congress.com/ticker/
Typing such addresses on TV remotes or Android sticks is error-prone and frustrating. The hub simplifies setup to: Open hub URL → Tap location → Tap room → Tap “Set as default”.
The Two Levels of the Hub
The hub interface operates across two levels:
- Level 1 – Location Selection (
renderLocations): Every location (building, hall) appears as an image tile under header "Select Location". - Level 2 – Display Selection (
renderDisplays): After selection, displays the Live Ticker tile and all room monitors. Header shows location name and "« Back to Locations" link.
If exactly one location is defined in settings, Level 1 is skipped automatically. The screen immediately displays the ticker and monitors without redundant back links.
Registering Locations in WordPress
Open Events → Settings → Live-Ticker & Monitor and find Hub Locations. Enter one line per location:
Location Name | URL to Live Ticker | Monitor Name=URL, Monitor Name=URL
Example with named monitors:
Main Building | https://my-event.com/ticker/ | Hall A=https://my-event.com/hall-a/, Hall B=https://my-event.com/hall-b/
Workshop Wing | https://my-event.com/ticker-ws/ | Room 1=https://my-event.com/room-1/, Room 2=https://my-event.com/room-2/
Parser Rules (ecrm_get_hub_locations)
- Empty lines are discarded.
- A line counts only from two fields onwards (name and ticker address).
- The ticker address may remain empty (
Location | | Room=URL) – displaying monitors only. - The third field splits at commas;
=separates display name and target address. - Without names, the parser assigns "Monitor 1", "Monitor 2" numbered by position.
- Security: All URLs pass through
esc_url_raw();javascript:addresses are discarded.
Automatic Tile Images (ecrm_hub_tile_image)
The plugin matches tile names against the venue taxonomy under Events → Venues: first by exact name, then by slug. When a venue matches, its featured image appears (including inheritance from parent venues). Naming rooms in the hub identically to your venue taxonomy pulls images with zero extra configuration!
Publishing the Hub Page
Create a new unlinked page (e.g. /displays/) and insert the shortcode:
[event_monitor_hub]
Operating on the Display Device
-
1Open Hub URL
Locations appear as interactive tiles.
-
2Select Location
Reveals the live ticker and all connected room monitors.
-
3Select Display
Tap the desired hall – display opens immediately in full screen.
-
4“Set as default”
Tap to lock this display into the device's persistent memory.
-
5Reset Default
If rolling screens are reassigned, tap "Reset Default" to pick a new room.
The Automatic 5-Second Countdown
Tapping "Set as default" saves three keys in the browser's localStorage:
ec_hub_default_url– target display addressec_hub_default_name– display name for start screenec_hub_default_loc– location name for header
On subsequent boots, the hub shows the assigned room with a 5-second countdown and auto-launches. A Cancel button stops the countdown and returns to the tile grid.
Memory operates per device and per browser strictly inside local storage. Twenty screens remember twenty different rooms completely independently with zero server configuration.