{"id":258357,"date":"2025-10-28T16:16:36","date_gmt":"2025-10-28T16:16:36","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/meteoprog-weather-widget\/"},"modified":"2025-12-13T17:28:52","modified_gmt":"2025-12-13T17:28:52","slug":"meteoprog-weather-informers","status":"publish","type":"plugin","link":"https:\/\/pl.wordpress.org\/plugins\/meteoprog-weather-informers\/","author":23381811,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.3","stable_tag":"1.0.3","tested":"6.9.4","requires":"4.9","requires_php":"7.0","requires_plugins":null,"header_name":"Meteoprog Weather Widget","header_author":"meteoprog","header_description":"Embed Meteoprog weather widgets on your WordPress site using a free API key. Supports shortcodes, placeholders, Gutenberg block, Elementor, and Shortcodes Ultimate.","assets_banners_color":"888b93","last_updated":"2025-12-13 17:28:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/billing.meteoprog.com\/meteoprog-weather-widget","header_author_uri":"https:\/\/profiles.wordpress.org\/meteoprog\/","rating":5,"author_block_rating":0,"active_installs":30,"downloads":445,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"meteoprog","date":"2025-10-28 16:16:09"},"1.0.2":{"tag":"1.0.2","author":"meteoprog","date":"2025-10-28 21:53:01"},"1.0.3":{"tag":"1.0.3","author":"meteoprog","date":"2025-12-13 17:28:52"}},"upgrade_notice":{"1.0.3":"<p>Compatibility update for WordPress 6.9. No functional changes required.<\/p>","1.0.2":"<p>\ud83d\udc1e Fixed issue with empty <code>[su_meteoprog_informer]<\/code> blocks when no default informer ID is configured.<\/p>","1.0.1":"<p>\ud83e\udde9 Minor update for WordPress.org review compliance and metadata corrections.<\/p>","1.0":"<p>First stable release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3385982,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3385982,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3385982,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3385982,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3419043,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/?name=meteoprog-weather-widget-demo\",\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"meteoprog-weather-informers\"},\"options\":{\"activate\":true}},{\"step\":\"setSiteOptions\",\"options\":{\"meteoprog_api_key\":\"bd0b13fa-6b98-4e6a-bca7-67f0d6515c9c\"}},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\n$content = <<<HTML\\nThis page shows example weather widgets provided by the <strong>Meteoprog Weather Widget<\\\/strong> plugin.<br><br>\\n<div style='background:#f6f7f7;border-left:4px solid #2271b1;padding:12px 16px;margin:15px 0;font-size:13px;color:#444;border-radius:4px;line-height:1.5;'>\\n<span style=\\\"font-size:16px;\\\">\\u2139\\ufe0f<\\\/span> By default, each widget displays weather for <strong>New York<\\\/strong>. When creating an informer, you can enable <strong>automatic location detection<\\\/strong> to show the weather for a visitor\\u2019s current city, and the <strong>widget language is automatically detected<\\\/strong> based on the user\\u2019s browser settings.<br><br>\\nYou can create your own <strong>free and fully customizable weather informer<\\\/strong> here: <a href='https:\\\/\\\/billing.meteoprog.com\\\/informer' target='_blank'>https:\\\/\\\/billing.meteoprog.com\\\/informer<\\\/a><br><br>\\n<div style='background:#fff3cd;border-left:4px solid #ffb300;padding:10px 12px;margin:10px 0;border-radius:4px;color:#444;'>\\u26a0\\ufe0f When creating a new informer, make sure to specify the correct <strong>domain name<\\\/strong> of your website. Otherwise, the informer will not be displayed.<br>For this demo, the allowed domain is <strong>https:\\\/\\\/playground.wordpress.net<\\\/strong>.<\\\/div>\\n<\\\/div><br>\\n\\n<div style='background:#f6f7f7;border-left:4px solid #777;padding:12px 16px;margin:15px 0;font-size:13px;color:#444;border-radius:4px;line-height:1.5;'>\\n<span style=\\\"font-size:16px;\\\">\\ud83d\\udca1<\\\/span> On this page, widgets are inserted as simple <strong>placeholders<\\\/strong> that are automatically replaced with live weather blocks when the page is rendered.<br>\\nExample: <code>&#123;meteoprog_informer_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&#125;<\\\/code><br>\\nUse your own informer ID instead of the example above.\\n<\\\/div><br>\\n\\n<strong>Maximum<\\\/strong><br>\\nWeather widget with the maximum set of parameters and settings. You can create a separate weather page on your website.<br><br>\\n{meteoprog_informer_4652b306-9784-43fa-8aab-641f48e89659}<br><br>\\n\\n<strong>Standard<\\\/strong><br>\\nEmbed weather blocks in web page. Fully customizable in parameters, size and color.<br><br>\\n{meteoprog_informer_2f2241ca-791d-45a5-b041-1da045d61ad5}<br><br>\\n\\n<strong>Simple<\\\/strong><br>\\nTiny widget for your navigation bar. Can be integrated with your navigation, sidebar or content.<br><br>\\n{meteoprog_informer_50874052-0750-4e57-8424-d67d170492f3}<br><br>\\n\\n<hr>\\n<p style='font-size:13px;color:#555;'>\\u2699\\ufe0f <a href=\\\"\\\/wp-admin\\\/admin.php?page=meteoprog_settings\\\" target=\\\"_blank\\\">Open Meteoprog Weather Widget settings<\\\/a> \\u2014 you can adjust API key and default options here.<\\\/p>\\n<hr>\\n<p style='font-size:14px;color:#666'>Learn more on <a href='https:\\\/\\\/wordpress.org\\\/plugins\\\/meteoprog-weather-informers\\\/' target='_blank'>WordPress.org<\\\/a> or visit the <a href='https:\\\/\\\/github.com\\\/meteoprog\\\/meteoprog-weather-informers' target='_blank'>GitHub repository<\\\/a>.<\\\/p>\\nHTML;\\n\\nwp_insert_post([\\n  'post_title'   => 'Meteoprog Weather Widget \\u2014 Example Widgets',\\n  'post_name'    => 'meteoprog-weather-widget-demo',\\n  'post_status'  => 'publish',\\n  'post_type'    => 'post',\\n  'post_content' => $content,\\n]);\"}]}"}},"all_blocks":{"meteoprog\/informer":{"name":"meteoprog\/informer","title":"Meteoprog Weather Widget"}},"tagged_versions":["1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3386107,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3386107,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Main settings screen: add your API key, create and preview weather informers.","2":"Plugin interface in WordPress admin with shortcode and placeholder examples."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[4900,7960,4899,7878,7956],"plugin_category":[43,59],"plugin_contributors":[249874],"plugin_business_model":[],"class_list":["post-258357","plugin","type-plugin","status-publish","hentry","plugin_tags-forecast","plugin_tags-local-weather","plugin_tags-weather","plugin_tags-weather-forecast","plugin_tags-weather-widget","plugin_category-customization","plugin_category-utilities-and-tools","plugin_contributors-meteoprog","plugin_committers-meteoprog"],"banners":{"banner":"https:\/\/ps.w.org\/meteoprog-weather-informers\/assets\/banner-772x250.png?rev=3385982","banner_2x":"https:\/\/ps.w.org\/meteoprog-weather-informers\/assets\/banner-1544x500.png?rev=3385982","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/meteoprog-weather-informers\/assets\/icon-128x128.png?rev=3385982","icon_2x":"https:\/\/ps.w.org\/meteoprog-weather-informers\/assets\/icon-256x256.png?rev=3385982","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/meteoprog-weather-informers\/assets\/screenshot-1.png?rev=3386107","caption":"Main settings screen: add your API key, create and preview weather informers."},{"src":"https:\/\/ps.w.org\/meteoprog-weather-informers\/assets\/screenshot-2.png?rev=3386107","caption":"Plugin interface in WordPress admin with shortcode and placeholder examples."}],"raw_content":"<!--section=description-->\n<p>Meteoprog Weather Widgets lets you add live local weather widgets and weather forecasts to your WordPress site.<\/p>\n\n<p>Widgets are free, unlimited, and easy to embed using Gutenberg, Elementor, shortcodes, or legacy widgets.<\/p>\n\n<p><strong>Features:<\/strong>\n* Easy setup with free informer API key.\n* Widgets are fully customizable via Meteoprog dashboard.\n* Supports Gutenberg block: <strong>Meteoprog Weather Widget<\/strong> (in the <em>Widgets<\/em> category).\n* \u2705 Legacy Widget (WordPress 4.9\u20135.7) for classic widget screen.\n* Supports shortcodes:\n  - <code>[meteoprog_informer id=\"YOUR_INFORMER_ID\"]<\/code>\n  - <code>[meteoprog_informer]<\/code> (uses default widget)\n* Supports placeholders in content:\n  - <code>{meteoprog_informer_YOUR_INFORMER_ID}<\/code>\n  - <code>{meteoprog_informer}<\/code> (uses default widget)\n* Default widget option: set once in admin, use everywhere.\n* Admin preview with \"Copy\" buttons.\n* Responsive admin interface (mobile-friendly).\n* WP-CLI support for managing keys, defaults, and cache.\n* \u2705 Legacy support: works on WordPress 4.9+ and PHP 5.6+ (also tested on PHP 8.3\/8.4).<\/p>\n\n<p><strong>Integrations:<\/strong>\n* \u2705 <strong>Gutenberg Block<\/strong> \u2014 modern block with dynamic informer selector (REST API).\n* \u2705 <strong>Shortcodes Ultimate<\/strong> \u2014 custom integration with dropdown and admin preview.\n* \u2705 <strong>Elementor<\/strong> \u2014 native widget in the Elementor editor.\n* \u2705 <strong>Legacy Widget<\/strong> \u2014 for WP 4.9\u20135.7 classic widget screens.\n* \u2705 <strong>Shortcodes &amp; Placeholders<\/strong> \u2014 for flexible embedding in content and templates.\n* \u2705 <strong>WP-CLI<\/strong> \u2014 manage API keys, defaults, and cache from the command line.\n* \u2705 <strong>REST API<\/strong> \u2014 exposes <code>\/wp-json\/meteoprog\/v1\/informers<\/code> (secured by <code>edit_posts<\/code>) for block integration.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin itself does not collect or store any personal data. However, when the widget is displayed on the frontend, visitors\u2019 browsers load the widget script from the Meteoprog CDN, which receives standard request information (IP address, User-Agent, Referrer).<\/p>\n\n<p>The CDN may also set technical cookies required for content delivery or security. These cookies are managed by Meteoprog and are subject to their privacy policy.<\/p>\n\n<p>This plugin adds a suggested section to WordPress's default Privacy Policy page, explaining what data is transmitted when widgets are displayed.<\/p>\n\n<h3>Links<\/h3>\n\n<ul>\n<li><a href=\"https:\/\/www.meteoprog.com\">Meteoprog Homepage<\/a> \u2014 main weather portal<\/li>\n<li><a href=\"https:\/\/billing.meteoprog.com\/informer\">Meteoprog Informer Dashboard<\/a> \u2014 create and manage your free informers<\/li>\n<li><a href=\"https:\/\/github.com\/meteoprog\/meteoprog-weather-informers\">GitHub repository<\/a><\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the Meteoprog services to display widgets.<\/p>\n\n<ol>\n<li><p>https:\/\/billing.meteoprog.com \u2014 used by the plugin to fetch your informer list via a secure API request (Authorization header with your informer API key and site domain).<\/p><\/li>\n<li><p>https:\/\/cdn.meteoprog.net \u2014 the visitor\u2019s browser loads a small JavaScript file from the Meteoprog CDN to render the widgets. As with any CDN, the visitor\u2019s IP address and browser information are transmitted as part of the HTTPS request. This is standard browser behavior.<\/p><\/li>\n<\/ol>\n\n<p>No personal data is collected or stored by the plugin itself.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload plugin to <code>\/wp-content\/plugins\/<\/code> or install via Plugins \u2192 Add New.<\/li>\n<li>Activate the plugin in the WordPress admin.<\/li>\n<li>Go to <em>Settings \u2192 Meteoprog Widgets<\/em>.<\/li>\n<li>Enter your <strong>Informer API key<\/strong> from <a href=\"https:\/\/billing.meteoprog.com\/?utm_source=wp-plugin&amp;utm_medium=readme&amp;utm_campaign=meteoprog-weather-widgets\">https:\/\/billing.meteoprog.com<\/a>.<\/li>\n<li>Refresh the informer list.<\/li>\n<li>Insert widgets with Gutenberg block, Elementor, Shortcodes Ultimate, Legacy Widget, shortcodes, or placeholders.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='do%20i%20need%20an%20api%20key%3F'><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>Yes. This plugin uses a <strong>separate Informer API key<\/strong> for widgets.<\/p>\n\n<p>It is <strong>NOT the same<\/strong> as the Meteoprog Weather API key.<\/p>\n\n<p>Informer API keys are <strong>always free<\/strong> and have <strong>no usage limits<\/strong>.<\/p>\n\n<p>You can create your free informer key here:\n<a href=\"https:\/\/billing.meteoprog.com\/informer?utm_source=wp-plugin&amp;utm_medium=readme&amp;utm_campaign=meteoprog-weather-widgets\">https:\/\/billing.meteoprog.com\/informer<\/a><\/p><\/dd>\n<dt id='where%20do%20i%20get%20the%20api%20key%3F'><h3>Where do I get the API key?<\/h3><\/dt>\n<dd><p>You can generate a <strong>widget (informer) API key<\/strong> at <a href=\"https:\/\/billing.meteoprog.com\/informer?utm_source=wp-plugin&amp;utm_medium=readme&amp;utm_campaign=meteoprog-weather-widgets\">https:\/\/billing.meteoprog.com\/informer<\/a>.<\/p><\/dd>\n<dt id='is%20this%20the%20same%20key%20as%20the%20meteoprog%20weather%20api%3F'><h3>Is this the same key as the Meteoprog Weather API?<\/h3><\/dt>\n<dd><p><strong>No.<\/strong><br \/>\nInformer API keys are <strong>different<\/strong>.<br \/>\nThe Meteoprog Weather API requires a separate subscription.<br \/>\nInformer API keys are <strong>free, unlimited, and without limits.<\/strong><\/p><\/dd>\n<dt id='what%20shortcodes%20are%20available%3F'><h3>What shortcodes are available?<\/h3><\/dt>\n<dd><p>You can use the following shortcodes:<\/p>\n\n<ul>\n<li><p><code>[meteoprog_informer id=\"YOUR_INFORMER_ID\"]<\/code><br \/>\n\u2192 Embed a specific informer by its ID.<\/p><\/li>\n<li><p><code>[meteoprog_informer]<\/code><br \/>\n\u2192 Embed the <strong>default informer<\/strong> (set in plugin settings).<\/p><\/li>\n<\/ul>\n\n<p>You can also use placeholders directly in post\/page content:<\/p>\n\n<ul>\n<li><p><code>{meteoprog_informer_YOUR_INFORMER_ID}<\/code><br \/>\n\u2192 Replaced with the widget matching the ID.<\/p><\/li>\n<li><p><code>{meteoprog_informer}<\/code><br \/>\n\u2192 Replaced with the <strong>default informer<\/strong>.<\/p><\/li>\n<\/ul><\/dd>\n<dt id='does%20it%20support%20the%20old%20%22legacy%20widgets%22%20system%3F'><h3>Does it support the old \"Legacy Widgets\" system?<\/h3><\/dt>\n<dd><p>Yes. For older WordPress versions (4.9\u20135.7) the plugin registers a <strong>Legacy Widget<\/strong> that you can add via <em>Appearance \u2192 Widgets<\/em>.<br \/>\nOn modern WordPress (5.8+) we recommend using the <strong>Gutenberg block (Meteoprog Weather Widget)<\/strong>, but the Legacy Widget remains for maximum backward compatibility.<\/p><\/dd>\n<dt id='what%20php%20versions%20are%20supported%3F'><h3>What PHP versions are supported?<\/h3><\/dt>\n<dd><p>The plugin works with PHP versions from 5.6 up to 8.3 inclusive.<\/p><\/dd>\n<dt id='can%20i%20use%20multiple%20widgets%3F'><h3>Can I use multiple widgets?<\/h3><\/dt>\n<dd><p>Yes. Create multiple informers at <a href=\"https:\/\/billing.meteoprog.com\/informer?utm_source=wp-plugin&amp;utm_medium=readme&amp;utm_campaign=meteoprog-weather-widgets\">https:\/\/billing.meteoprog.com\/informer<\/a>, then insert them with their IDs.<\/p><\/dd>\n<dt id='what%20if%20i%20want%20one%20default%20widget%20everywhere%3F'><h3>What if I want one default widget everywhere?<\/h3><\/dt>\n<dd><p>You can set a \"Default Widget\" in plugin settings. Then just use <code>[meteoprog_informer]<\/code> or <code>{meteoprog_informer}<\/code> without ID.<\/p><\/dd>\n<dt id='can%20i%20use%20it%20in%20the%20gutenberg%20editor%3F'><h3>Can I use it in the Gutenberg editor?<\/h3><\/dt>\n<dd><p>Yes. Use the block <strong>Meteoprog Weather Widget<\/strong> from the <em>Widgets<\/em> category.<\/p><\/dd>\n<dt id='does%20it%20support%20elementor%3F'><h3>Does it support Elementor?<\/h3><\/dt>\n<dd><p>Yes. The plugin includes a <strong>native Elementor widget<\/strong> that you can insert from the Elementor panel.<\/p><\/dd>\n<dt id='does%20it%20support%20shortcodes%20ultimate%3F'><h3>Does it support Shortcodes Ultimate?<\/h3><\/dt>\n<dd><p>Yes. The plugin integrates with <strong>Shortcodes Ultimate<\/strong>, adding a custom <em>Meteoprog Weather<\/em> shortcode with a dropdown and live preview.<\/p><\/dd>\n<dt id='the%20widget%20does%20not%20appear%20on%20my%20site.%20what%20should%20i%20do%3F'><h3>The widget does not appear on my site. What should I do?<\/h3><\/dt>\n<dd><p>For the most up-to-date troubleshooting guide (with screenshots, code examples, and plugin-specific tips),<br \/>\nplease refer to the extended documentation on GitHub:<\/p>\n\n<p>\ud83d\udc49 <a href=\"https:\/\/github.com\/meteoprog\/meteoprog-weather-informers?tab=readme-ov-file#-the-widget-does-not-appear-on-my-site-what-should-i-do\">https:\/\/github.com\/meteoprog\/meteoprog-weather-informers?tab=readme-ov-file#-the-widget-does-not-appear-on-my-site-what-should-i-do<\/a><\/p><\/dd>\n<dt id='does%20it%20support%20wp-cli%3F'><h3>Does it support WP-CLI?<\/h3><\/dt>\n<dd><p>Yes. Example commands:<\/p>\n\n<ul>\n<li><code>wp meteoprog-weather-informers set-key &lt;key&gt;<\/code> \u2014 set API key  <\/li>\n<li><code>wp meteoprog-weather-informers get-key<\/code> \u2014 show current API key (masked)  <\/li>\n<li><code>wp meteoprog-weather-informers set-default &lt;id&gt;<\/code> \u2014 set default informer  <\/li>\n<li><code>wp meteoprog-weather-informers get-default<\/code> \u2014 show default informer  <\/li>\n<li><code>wp meteoprog-weather-informers refresh<\/code> \u2014 clear cache and reload informers  <\/li>\n<li><code>wp meteoprog-weather-informers clear-cache<\/code> \u2014 clear cache only<\/li>\n<\/ul><\/dd>\n<dt id='will%20the%20informer%20slow%20down%20my%20site%3F'><h3>Will the informer slow down my site?<\/h3><\/dt>\n<dd><p><strong>No.<\/strong><\/p>\n\n<p>The plugin first enqueues a <strong>local script<\/strong> <code>loader-fallback.js<\/code> from your WordPress site.<br \/>\nThat script then <strong>asynchronously<\/strong> loads the actual <code>loader.js<\/code> from the Meteoprog CDN.<\/p>\n\n<p>This approach is required by <a href=\"https:\/\/developer.wordpress.org\/plugins\/wordpress-org\/detailed-plugin-guidelines\/#7-plugins-may-not-track-users-without-their-consent\">WordPress.org plugin guidelines<\/a>, and ensures that:<\/p>\n\n<ul>\n<li>No external scripts are loaded during the initial HTML render.<\/li>\n<li>Informers are added asynchronously and <strong>do not block rendering<\/strong>.<\/li>\n<li>Core Web Vitals and page performance are unaffected.<\/li>\n<li>The widget is embedded <strong>after the main content has loaded<\/strong>, similar to YouTube or Twitter embeds.<\/li>\n<\/ul>\n\n<p>\u2705 As a result, informers <strong>do not slow down your site<\/strong> and work even on caching\/CDN setups without issues.<\/p><\/dd>\n<dt id='development%20%26%20testing'><h3>Development &amp; Testing<\/h3><\/dt>\n<dd><p>The source code is available on <a href=\"https:\/\/github.com\/meteoprog\/meteoprog-weather-informers\">GitHub<\/a>.<\/p>\n\n<p>This plugin is developed in the open and tested automatically via <strong>GitHub Actions CI<\/strong>.<br \/>\nThe continuous integration pipeline runs automated builds across multiple WordPress (4.9\u20136.9) and PHP (5.6\u20138.4) versions, ensuring full backward compatibility and stable operation on both legacy and modern environments.<\/p>\n\n<p>We welcome issues and pull requests on GitHub.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>\ud83c\udd95 Confirmed full compatibility with WordPress 6.9.<\/li>\n<li>\ud83d\udee0 Updated \"Tested up to\" to 6.9.<\/li>\n<li>\ud83d\udd12 Disabled HTML editing mode in the block editor.<\/li>\n<li>\ud83e\uddf9 Internal cleanup for upcoming iframe mode.<\/li>\n<li>\ud83d\udee1 Prefixed admin template variables for Plugin Check compliance.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>\ud83d\udc1e Fixed issue where <code>[su_meteoprog_informer]<\/code> without an ID rendered an empty informer block when no default informer was set.<\/li>\n<li>\u2699\ufe0f Improved data layer generation \u2014 prevents empty IDs in <code>&lt;head&gt;<\/code> output.<\/li>\n<li>\ud83e\uddf9 Minor internal code cleanup for Shortcodes Ultimate integration.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>\ud83e\udde9 Removed filtered 5-star reviews link (WP.org guideline compliance)<\/li>\n<li>\u2699\ufe0f Updated \"Requires PHP\" to 7.0 in plugin header and readme<\/li>\n<li>\ud83d\uddd2\ufe0f Added note explaining required <code>su_<\/code> prefix for Shortcodes Ultimate integration<\/li>\n<li>\ud83d\udd79\ufe0f Maintains backward compatibility with PHP 5.6 (legacy mode)<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>\u2705 Gutenberg block (<strong>Meteoprog Weather Widget<\/strong>) with REST API integration.<\/li>\n<li>\u2705 Shortcodes Ultimate integration with dropdown and preview.<\/li>\n<li>\u2705 Elementor widget integration.<\/li>\n<li>\u2705 Legacy Widget, shortcode, and placeholder support.<\/li>\n<li>\u2705 Default widget option.<\/li>\n<li>\u2705 Responsive admin UI.<\/li>\n<li>\u2705 WP-CLI integration (optional).<\/li>\n<li>\u2705 REST API endpoint <code>\/wp-json\/meteoprog\/v1\/informers<\/code>.<\/li>\n<li>\u2705 Legacy WordPress\/PHP support (4.9+, PHP 5.6+; tested on PHP 8.3\/8.4).<\/li>\n<\/ul>","raw_excerpt":"Add live local weather widgets and forecasts to WordPress. Gutenberg, Elementor, shortcodes. Free, unlimited, no API limits.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/258357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=258357"}],"author":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/meteoprog"}],"wp:attachment":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=258357"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=258357"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=258357"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=258357"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=258357"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=258357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}