=== WunderGoal Pools ===
Contributors: skipseek
Tags: football, soccer, prediction pool, world cup, standings
Requires at least: 6.2
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 0.3.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Run a football prediction pool with your readers — publish your pool's live standings as a native leaderboard and let visitors join with one click.

== Description ==

Turn your blog into the home of your prediction pool.

Create a free pool at [wundergoal.com/pool/new](https://wundergoal.com/pool/new) — there are eight ways to play (Predictions, Survivor, Bracket, Confidence, Outrights, Props, Joker and Auto-pick) — then publish the pool's live standings on any post or page with this plugin. Your readers see the race update as matches finish, and a built-in join link lets them enter your pool.

**How it renders (native, no iframe)**

The plugin fetches your pool's standings server-side from the WunderGoal pool data API, caches the result in a WordPress transient for a few minutes, and prints a standings table as ordinary HTML that inherits your theme's fonts and spacing. There is no iframe and no third-party script in your visitors' browsers — just a cached leaderboard rendered by your own site. The columns adapt to the pool's format (points and exact scores for a classic pool; alive/out for survivor; points and correct picks for bracket and confidence).

**What the board shows**

* Live member standings for your pool, scored by your pool's format
* Automatic updates as results land — refreshed on a short server-side cache
* A join link so new readers can enter with your invite code
* Dark and light themes to match your site

**How to use it**

1. Create a pool at wundergoal.com/pool/new and copy its invite code
2. In WordPress, go to Settings → WunderGoal Pools and paste the code
3. Add the `[wundergoal_pool]` shortcode — or the "Pool Standings Board" block — wherever the standings should appear

You can run different pools on different pages by passing a code per shortcode: `[wundergoal_pool code="ABCD2345" theme="light"]`.

The plugin renders nothing until you configure a pool code, and it stores no visitor data. Possession of an invite code is what grants access to a pool's public standings, exactly as it does on wundergoal.com.

WunderGoal is an independent product of SkipSeek and is not affiliated with, endorsed by, or connected to FIFA or any national federation. Team and competition names are used solely to identify matches.

== Frequently Asked Questions ==

= Do my readers need an account to see the standings? =

No. The standings board is public and read-only. Joining the pool (to make picks) takes a free WunderGoal account.

= Where do I find my pool's invite code? =

On your pool page at wundergoal.com, under "Embed your pool". It's the same code friends use to join.

= Does the plugin use an iframe or load third-party scripts? =

No. Standings are fetched on your server and printed as native HTML that inherits your theme. Nothing is embedded in an iframe, and no external JavaScript runs in your visitors' browsers.

= Can I show more than one pool? =

Yes — place multiple shortcodes, each with its own `code` attribute.

= Does the plugin slow my site down? =

No. Responses are cached in a WordPress transient for a few minutes, so most page loads render from cache with no outbound request.

== Screenshots ==

1. The live standings board rendered natively in a post
2. Settings — paste your pool's invite code and pick a theme
3. The Pool Standings Board block in the editor

== Changelog ==

= 0.3.0 =
* Native rebuild: standings are now fetched server-side and rendered as theme-inheriting HTML — no iframe, no external scripts in the visitor's browser.
* Short server-side transient cache with a long-lived backup, so an API blip never blanks the board.
* Format-aware columns (classic, survivor, bracket, confidence).

= 0.2.0 =
* Rebuild around prediction pools (superseded by the native 0.3.0 renderer).

= 0.1.0 =
* Initial submission (superseded).
