Project
EliteProspects Widget Hub WordPress Plugin
Tech used
A WordPress plugin that lets media outlets and teams embed EliteProspects hockey stats widgets — rosters, standings, scoring leaders, player profiles, and more — as Gutenberg blocks or shortcodes, connecting directly to a hosted Widget Hub deployment.

The EP Widgets WordPress plugin bridges EliteProspects' Widget Hub and any WordPress-powered website, giving editors and content teams a native way to embed live hockey data without touching code.
The plugin supports 12 widget types covering the full range of EliteProspects data — from individual player profiles and team rosters to league standings, scoring leaders, alumni trackers, prospect pipelines, and playoff brackets. Each widget renders inside a responsive iframe pointed at the user's hosted Widget Hub deployment, keeping the data live and the integration lightweight.
All 12 widget types are available through three separate entry points. In the block editor, each type is registered as a dynamic Gutenberg block under the Embeds category — rendered server-side on every request so the iframe URL always reflects the latest Widget Hub settings, never stale saved markup. A dedicated Widget Settings sidebar panel handles field input with validation, a Color Overrides panel exposes the full theming surface (background, text, table, header, accent, and a light/dark/system theme toggle), and configured blocks show a live iframe preview directly on the canvas.
In the Classic Editor, a custom toolbar button — rendered using the EP logotype as an SVG icon — opens a purpose-built widget builder popup: a two-panel interface with sidebar navigation across all widget types, per-type configuration forms, and a live shortcode preview in the footer that updates as fields are filled. Finally, a [ep_widget] shortcode covers any context where shortcodes are supported, with a camelCase restoration layer that corrects WordPress's automatic attribute lowercasing before the params reach the embed URL.
Across all three entry points, the plugin automatically appends a sourced attribution link below each widget — building the correct EliteProspects URL per widget type from the human-readable labels captured during configuration, without requiring editors to manually find or paste links.
Authentication is handled through a simple settings page where users connect their Widget Hub credentials once, after which the orgUuid is passed automatically to every embed so widgets can resolve the organization's color theme directly from the backend.
Built for WordPress 5.6+ and PHP 7.4+, the plugin is distributed as a proprietary tool requiring a valid Widget Hub account. The installable zip is hosted on the project's Supabase storage bucket and kept up to date automatically — a GitHub Actions workflow packages and uploads a fresh zip on every deployment.