Badhub Widget

Description

Badhub Widget lets badminton clubs embed their current league table and match schedule on their own website. No technical knowledge required.

Features

  • Live league table — always up to date, directly from badhub.de
  • Match schedule — upcoming fixtures and past results with match reports
  • Table + Schedule combined — both widgets in one
  • Automatic height adjustment — the iframe resizes to fit its content
  • Theme support — light mode, dark mode, or auto (follows the visitor’s system preference)
  • Highlight your own club — your club’s row is visually emphasised
  • Promotion/relegation markers — coloured indicators for promotion and relegation zones
  • Club logos — optional logo display next to each team name
  • Federation mode — display a full federation table (for federation websites)
  • Works with any WordPress theme via shortcode or Gutenberg block

How it works

  1. Install and activate the plugin
  2. Go to Settings Badhub Widget
  3. Enter your free API key (get one at plugin.badhub.de)
  4. Select your federation and club
  5. Insert [badhub_widget] into any page or post

Shortcode options

[badhub_widget] — league table (default)
[badhub_widget type="matches"] — match schedule
[badhub_widget type="combined"] — table + schedule combined
[badhub_widget type="table" pool_id="12345"] — specific league pool
[badhub_widget theme="dark"] — dark mode
[badhub_widget highlight="0"] — disable own-club highlight
[badhub_widget promotion="0"] — hide promotion/relegation markers
[badhub_widget logos="0"] — hide club logos

Federation league system shortcode (`[badhub_liga]`)

Federations with an active Federation-tier license can embed the complete league system — all divisions, all tables, full match schedule with built-in 3-level navigation — using a single shortcode:

[badhub_liga federation="bvbb"] — full league widget for the BVBB federation
[badhub_liga federation="bvbb" ga="G-XXXXXXXX"] — with Google Analytics 4 tracking
[badhub_liga min_height="700"] — set initial iframe height (default 500)

The federation slug is required. If your Plugin Settings already specify a federation, the attribute can be omitted. Only federations with a valid Federation-tier license on badhub.de are served — other slugs return 403.

External service

This plugin connects to badhub.de to retrieve league tables and match data, and to plugin.badhub.de to render the widget iframe.

Data is fetched when a page containing the widget shortcode is loaded by a visitor. No personal visitor data is transmitted to badhub.de.

Screenshots

  • League table widget on a club website
  • Match schedule with clickable match reports
  • Plugin settings page
  • Widget Generator on plugin.badhub.de

Blocks

This plugin provides 1 block.

  • Badhub Widget Ligatabelle deines Vereins direkt auf deiner Website.

Installation

  1. Upload the plugin files to /wp-content/plugins/badhub-widget/, or install via Plugins Add New and search for “Badhub Widget”
  2. Activate the plugin
  3. Go to Settings Badhub Widget
  4. Enter your API key (free at plugin.badhub.de)
  5. Select your federation and club
  6. Add [badhub_widget] to any page or post

FAQ

Where do I get an API key?

Visit plugin.badhub.de and register for free. You will receive your API key by email immediately.

Is the plugin free?

Yes. The free tier includes the full league table with the “Powered by badhub.de” badge. A Pro upgrade (no badge, priority support) is available for a small annual fee.

Which federations are supported?

Currently supported: BVBB, BVRP, HBV, BWBV, BBV, NBV. More federations are being added.

The widget shows nothing / an error — what do I do?

  • Make sure your API key is entered correctly under Settings Badhub Widget
  • Check that the API key is registered for your website’s domain
  • Make sure you have selected your federation and club

Can I use the widget without WordPress?

Yes. Visit plugin.badhub.de to generate a script tag embed code that works on any website.

Can I display multiple widgets on one page?

Yes. Each [badhub_widget] shortcode generates an independent iframe. You can use different pool_id or type attributes for each.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Badhub Widget” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Badhub Widget” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.2.0

  • “Prüfen” button next to API key field — auto-fills the registered federation and club, locks them for free/pro keys (federation tier still has full freedom). Lock now persists across saves (15-min transient cache, server-side rendered)
  • Fixed critical PHP TypeError when saving settings without selecting all fields (sanitize callbacks now accept null/empty values)
  • New “Transparent background” option (transparent="1" shortcode attribute) — widget background becomes transparent so the host page background shows through; theme (light/dark/auto) still drives text and border colours
  • New API endpoint /api/v1/key-info returns tier, federation and registered club for the calling key

0.1.0

  • Initial release
  • League table widget (shortcode + Gutenberg block)
  • Match schedule widget (type="matches")
  • Combined table + schedule widget (type="combined")
  • Dark mode and auto theme support
  • Promotion/relegation markers and club logo display
  • Federation mode for federation websites
  • Live preview in plugin settings