

The welcome screen after activation — live widget preview and the activation status
WFY24 Weather Widget lets you embed a free, fully-featured weather widget on any WordPress site — in any post, page, or sidebar — with a single shortcode, Gutenberg block, or built-in sidebar widget.
Activating the plugin opens Settings WFY24 Weather, one screen with everything on it:
Shortcode:
[wfy24_weather]
Override per instance:
[wfy24_weather city="paris-fr2988507" theme="dark" variant="forecast" lang="fr"]
Or use the WFY24 Weather Widget block in the Gutenberg editor for a visual interface.
The free version of this plugin displays a small attribution link — its visible text is wfy24.com — under each rendered widget. The activation screen says so above the “Activate now (free)” button: “By activating you agree to display a small attribution link (wfy24.com) under each widget”; clicking that button is your explicit permission to enable the link. A Pro plan that removes the attribution is in preparation; until it launches the plugin shows “Pro is coming — notify me” (wfy24.com/en/widgets/pro). Existing Pro subscriptions keep hiding the link.
This plugin connects to the WFY24 weather service at https://www.wfy24.com:
/api/widget/register-from-plugin with the email you confirmed in the activation form (pre-filled from Settings General; editable inline before activation), site name, site domain, WordPress version, plugin version and site locale, in order to automatically provision your free API key. No activation happens without your explicit click on the “Activate now (free)” button. If wfy24.com already holds a widget for that email and domain, it answers with the first characters of the existing key and a replacement-key link; the plugin then shows the “Connect an existing WFY24 widget” form instead of creating a duplicate. Pasting a key into that form sends nothing./wp-json/wfy24/v1/cities proxies your search query (e.g. “athens”) to /api/places/search server-side. Your search query is sent along with a User-Agent identifying the plugin. Results (slug + label + country flag) are cached for 5 minutes per query. The admin’s IP is never exposed cross-origin because the request is server-to-server.widget.js and queries /api/widget/data. The widget sends the API key, the city slug when one is set, and the language/units/theme preferences. Location: with a default city set, that city is shown and no visitor location is used. With no default city and the “Auto-detect visitor location” toggle off (the default), the widget shows the weather for the visitor’s approximate location derived from the IP address of the request — no browser prompt, no coordinates. With the toggle on, the browser asks the visitor for permission; if granted, the visitor’s latitude/longitude is sent, otherwise the IP-based location is used. No personal data is stored beyond standard anonymized request logs for rate limiting./api/widget/pro/status with the first characters of the key to learn whether the key is on the Pro plan (this is what hides the attribution link for Pro sites). After a failed request it waits an hour before trying again./api/widget/pro/checkout and /api/widget/pro/portal — the portal request carries the site’s full key — to open a Stripe Checkout or Stripe Billing Portal session. While Pro is parked (the default in this version) the upgrade button is not shown and the checkout handler refuses to run; site owners who want the checkout can define WFY24_PRO_ENABLED as true in wp-config.php.Links:
The plugin is multisite-compatible. All settings (API key, defaults, page) are stored per-subsite using get_option()/add_option(), so each subsite operates independently.
admin_email is sent, no API key is created, no automatic phone-home occurs.Settings → General → Email Address to wfy24.com to obtain a domain-bound API key. The admin is shown a dynamic disclosure of the exact values that will be transmitted before clicking — no consent is collected on behalf of admins of other subsites.site-a.example.com will not function on site-b.example.com, which means subdomain and domain-mapped multisite installs work correctly out of the box (each subsite gets its own key for its own domain).example.com/site-a, example.com/site-b … every subsite reports the same domain, example.com, so wfy24.com sees one site. Activate the main site normally; on each further subsite open Connect an existing WFY24 widget and paste the main site’s key (the main site shows it under Settings WFY24 Weather Advanced). A second “Activate” with the same email on the same host is answered with “already registered” and the connect form, not a second key.