=== Weather Write === Contributors: manovermachine Tags: ai, writing, weather, content, automation Requires at least: 6.5 Tested up to: 6.8 Stable tag: 1.0.13 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Weather-aware writing prompts/snippets inside WordPress. Generate posts manually or on a schedule using ReIntentAPI and Open-Meteo. == Description == WeatherWrite brings your local weather coverage to the cloud. It automatically captures real conditions and generates posts that highlight yesterday’s recap, today’s forecast, and tomorrow’s outlook — all written in the style you choose. Schedule posts to publish exactly when you want, with automated images matched to the weather. Customize as much as you like, or let WeatherWrite handle the heavy lifting. Your readers get weather that feels personal, and you stay in control while the work gets done for you. Video walkthrough: [https://youtu.be/4ZUW77WvSCc](https://youtu.be/4ZUW77WvSCc) Features: - Generates a dedicated post for each weather report created, on demand or on a schedule. - Scheduled auto-posting (up to 6 times per day and you control the schedule) - Admin settings for API key, schedule, images, weather alerts, writing style, and defaults == External Services == This plugin connects to several external services to generate weather-aware content and visualizations. Details for each service are below. - ReIntent API (text generation) - Endpoints: https://xwkwzbjifh.execute-api.us-east-2.amazonaws.com/v1 and https://1xt5le1gn6.execute-api.us-east-2.amazonaws.com/v1 - What it’s used for: Generates the narrative text given prompts and options from the plugin settings. - What data is sent and when: On-demand (when you click generate or scheduled runs), the prompt text and selected options (e.g., location string, tone, length) are sent. Requires your API key; the plugin does not store API responses beyond creating the post. To obtain your key, email mike@weatherwrite.com. - Open‑Meteo Forecast API - Endpoint: https://api.open-meteo.com - What it’s used for: Retrieves forecast and hourly data used in summaries, charts, and thresholds. - What data is sent and when: Latitude/longitude, desired variables, unit and language parameters on fetch. - Privacy: https://open-meteo.com/en/privacy - Open‑Meteo Geocoding API - Endpoint: https://geocoding-api.open-meteo.com - What it’s used for: Resolves user-entered place names to coordinates. - What data is sent and when: Query string (place name), country hint, language. - Nominatim (fallback geocoding) - Endpoint: https://nominatim.openstreetmap.org - What it’s used for: Fallback geocoding if Open‑Meteo geocoder cannot resolve. - What data is sent and when: Query string in the request URL. A User‑Agent header identifying the site is included. - Policy: https://operations.osmfoundation.org/policies/nominatim/ - GeoNames - Endpoint: http://api.geonames.org - What it’s used for: Looks up GeoNameID and region metadata for map embeds. - What data is sent and when: GeoNameID queries and/or name lookups; includes the configured username. - OpenWeather (official alerts) - Endpoint: https://api.openweathermap.org - What it’s used for: When enabled in settings, retrieves official weather alerts via One Call 3.0 for the configured location. - What data is sent and when: Latitude/longitude when checking for alerts. - Meteoblue (map embed) - Website: https://www.meteoblue.com - What it’s used for: Optional iframe map shown in posts if enabled. - What data is sent and when: Parameters are included in the iframe URL (e.g., geonameId and/or lat/lon). No plugin-side requests are made; it is a browser iframe embed. == Installation == 1. Upload the `weather-write` folder to the `/wp-content/plugins/` directory. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. In your WordPress dashboard, go to Settings → WeatherWrite to enter your API key and set up scheduling. You’ll also find a link there to obtain your key if you don’t already have one. == Frequently Asked Questions == = Do I need an API key? = ReIntent API key is recommended for real outputs. Without it, the plugin returns a mock output suitable for testing. = What weather provider is used? = Open-Meteo (free, no API key required). == Screenshots == 1. WeatherWrite automatically writes the weather report for your market. 2. Each post includes daily charts, hourly charts, and a summary of the weather. 3. Along with today's weather, we provide a future outlook for the next 7 days. 4. You can upload images your own images from your market and our system will automatically match them to the weather conditions. 5. You control when the weather reports are generated. You can run them manually or on a schedule. 6. You have full control over the voice, tone, and length of the weather reports. Along with how the title is constructed. 7. Weather alerts let your audience know when severe weather is expected, and you can control the thresholds for when they are shown. 8. SEO metadata is automatically generated for each post. 9. Add a promotional block to the end of each post, full HTML support. 10. Full control over language, units, and all the other settings. == Changelog == = 1.0.13 = - Fix: Severe weather alert titles now use friendly location name instead of full geocoded location string = 1.0.12 = - Watchdog: 5-minute cron to detect missed and failed scheduled runs - Email alerts: configurable recipients (CSV) and grace window - Admin: inline alerts on Schedule tab with recent issues and a “Clear errors” button - Scheduler: run logging added for start/success/failed/missed - i18n: translators comments added, sprintf placeholders for Plugin Check compliance = 1.0.11 = - Admin (Schedule): Add per-time Delete action for scheduled slots - Admin: Hardening for nonces and input handling flagged by Plugin Check - Packaging: housekeeping to exclude dev-only artifacts from release = 1.0.10 = - Release housekeeping to ensure directory refresh of the latest admin changes = 1.0.9 = - Admin (Schedule): Show notice when scheduling is enabled but no times are configured - Admin (Schedule): Add "Clear all times" action with confirmation (resets times/tags, disables auto, clears cron) = 1.0.8 = - Scheduler: Do not schedule when no exact times are configured (removed 7:00 PM fallback) = 1.0.7 = - Readme: add video walkthrough link to Description = 1.0.6 = - Ensure loader SVG is included in release; minor stability/packaging fixes = 1.0.5 = - Fix: Dynamic asset versioning so admin JS/CSS updates are cache-busted on each release = 1.0.4 = - UI: Added loading indicator on Test Weather Report with rotating fun status messages and loader SVG - UI: Improved headline styling and larger loader visual = 1.0.3 = - Minor documentation refresh = 1.0.2 = - Settings: Change "ReIntent API Key" label to "API Key" (no option name changes) = 1.0.1 = - Settings: Show inline notice with signup link when API key is missing - Readme, screenshots, and plugin assets updated for WordPress.org directory - Minor text and copy fixes = 1.0.0 - Initial release: ReIntentAPI integration, Open-Meteo weather, block + shortcode, REST endpoints, WP-Cron auto-posting, admin settings, and caching.