=== 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.4.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.

== External services ==

This plugin connects to the WunderGoal pool data API, an external service operated by SkipSeek, to obtain the live standings for the prediction pool you have configured. This is required for the plugin to function: the standings it displays are held by WunderGoal, not by your WordPress site.

What is sent, and when: your site sends the pool invite code you entered in Settings → WunderGoal Pools (or passed to the shortcode or block) to https://wundergoal.com, as a server-side request, whenever a page containing the board is rendered and the cached copy has expired — at most once every few minutes per pool. The request is made by your server, not by your visitors' browsers.

No visitor data is sent. No personal data, IP address, cookie, user agent or page URL of any visitor is transmitted. The plugin sets no cookies and loads no third-party scripts.

Service provided by SkipSeek (WunderGoal): [Terms of Service](https://wundergoal.com/terms), [Privacy Policy](https://wundergoal.com/privacy).

== 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 add a credit link or branding to my pages? =

No. The plugin prints your pool's standings and nothing else. There is no "powered by" link, no logo and no attribution of any kind on your public pages.

= 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.4.0 =
* Removed the "Powered by WunderGoal" credit link from the front end entirely. The plugin now adds no attribution of any kind to public pages.
* Documented the external service in the readme: what the WunderGoal pool data API is used for, exactly what is sent and when, and links to its Terms of Service and Privacy Policy.

= 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).
