Title: Badhub Widget
Author: badhub
Published: <strong>May 5, 2026</strong>
Last modified: May 6, 2026

---

Search plugins

![](https://ps.w.org/badhub-widget/assets/banner-772x250.png?rev=3524603)

![](https://ps.w.org/badhub-widget/assets/icon-256x256.png?rev=3523313)

# Badhub Widget

 By [badhub](https://profiles.wordpress.org/badhub/)

[Download](https://downloads.wordpress.org/plugin/badhub-widget.0.2.0.zip)

 * [Details](https://wordpress.org/plugins/badhub-widget/#description)
 * [Reviews](https://wordpress.org/plugins/badhub-widget/#reviews)
 *  [Installation](https://wordpress.org/plugins/badhub-widget/#installation)
 * [Development](https://wordpress.org/plugins/badhub-widget/#developers)

 [Support](https://wordpress.org/support/plugin/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](https://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.

 * Service website: [https://badhub.de](https://badhub.de)
 * Privacy policy: [https://badhub.de/datenschutz](https://badhub.de/datenschutz)
 * Terms of use: [https://badhub.de/nutzungsbedingungen](https://badhub.de/nutzungsbedingungen)

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](https://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](https://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](https://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

 *   [ badhub ](https://profiles.wordpress.org/badhub/)

[Translate “Badhub Widget” into your language.](https://translate.wordpress.org/projects/wp-plugins/badhub-widget)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/badhub-widget/), check
out the [SVN repository](https://plugins.svn.wordpress.org/badhub-widget/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/badhub-widget/) 
by [RSS](https://plugins.trac.wordpress.org/log/badhub-widget/?limit=100&mode=stop_on_copy&format=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

## Meta

 *  Version **0.2.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [badminton](https://wordpress.org/plugins/tags/badminton/)[club](https://wordpress.org/plugins/tags/club/)
   [schedule](https://wordpress.org/plugins/tags/schedule/)[sport](https://wordpress.org/plugins/tags/sport/)
   [table](https://wordpress.org/plugins/tags/table/)
 *  [Advanced View](https://wordpress.org/plugins/badhub-widget/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/badhub-widget/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/badhub-widget/reviews/)

## Contributors

 *   [ badhub ](https://profiles.wordpress.org/badhub/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/badhub-widget/)