[WordPress] 外掛分享: Spelhubben Weather

首頁外掛目錄 › Spelhubben Weather
WordPress 外掛 Spelhubben Weather 的封面圖片
20+
安裝啟用
尚無評分
16 天前
最後更新
問題解決
WordPress 6.8+ PHP 7.4+ v2.1.2 上架:2025-10-01

內容簡介

Spelhubben Weather 外掛可顯示當前天氣及可選的天氣預報,並能從多個免費全球天氣提供者聚合數據,提供準確的天氣資訊,適用於全球範圍,特別是在歐洲地區表現優異。

【主要功能】
• 顯示當前天氣與預報
• 聚合多個天氣數據來源
• 支援多語言翻譯功能

外掛標籤

開發者團隊

⬇ 下載最新版 (v2.1.2) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Spelhubben Weather」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

This plugin displays current weather and an optional forecast. It can aggregate data from free global weather providers (Open-Meteo, SMHI, Yr/MET Norway, MET Norway Nowcast, FMI, OpenWeatherMap, and WeatherAPI.com) and compute a simple consensus. Works worldwide with excellent coverage in Europe and beyond.
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Full license text is included in the LICENSE file in the plugin root.
Feedback & Bug Reports
Feedback and bug reports can be posted here: https://github.com/K3NT4/spelhubben-weather/issues
For common questions see the FAQ: https://github.com/K3NT4/spelhubben-weather/blob/main/Docs/FAQ.md
For Roadmap: https://github.com/users/K3NT4/projects/2
Weather widget & block with optional map and daily forecast. Can combine Open-Meteo, SMHI, Yr/MET, MET Norway Nowcast, FMI, OpenWeatherMap, and WeatherAPI.com data.
Translations
The plugin is fully translatable and includes built-in translations for Swedish (sv_SE) and Norwegian Bokmål (nb_NO).
How to translate the plugin
Option 1: Contribute to translate.wordpress.org (recommended)
– Visit translate.wordpress.org
– Select your language and add translations via the browser interface
– Your translations will automatically be included in future releases
Option 2: Local translation files
If you need to add or modify translations locally:

Generate or update the POT file (translation template):
wp i18n make-pot . languages/spelhubben-weather.pot --slug=spelhubben-weather

Create a PO file for your language (e.g., spelhubben-weather-de_DE.po):

Copy the .pot file and rename to match your locale (e.g., de_DE)
Use a translation tool like Poedit or a text editor
Translate all strings in the PO file
Save the file as spelhubben-weather-de_DE.po

Generate the MO file (compiled binary format):
msgfmt spelhubben-weather-de_DE.po -o spelhubben-weather-de_DE.mo

Place files in the plugin:

Store both .po and .mo files in /languages/
If you bundle translations with the plugin, also keep generated .l10n.php files and block editor JSON files in sync with the PO/MO files.

Activate your translation:

Change your WordPress language to match the locale code (Settings → General → Site Language)
The plugin will automatically load the translated strings

Translation file structure:
languages/
spelhubben-weather.pot (template for all translations)
spelhubben-weather-sv_SE.po (Swedish source text)
spelhubben-weather-sv_SE.mo (Swedish compiled)
spelhubben-weather-sv_SE.l10n.php
spelhubben-weather-nb_NO.po (Norwegian source text)
spelhubben-weather-nb_NO.mo (Norwegian compiled)
spelhubben-weather-nb_NO.l10n.php
What gets translated:
– All frontend strings (shortcode output, widget labels, weather descriptions, WMO codes)
– Admin settings and UI labels
– JavaScript strings (expand/collapse, status messages)
– Error messages and notices
Best practices:
– Use context clues in the POT file (msgctxt) to distinguish similar phrases
– Test your translation in WordPress to ensure formatting and plurals work correctly
– Check that translated UI aligns properly in your language (RTL vs LTR)
Older Changelog
2.0.0

FIX: Leaflet map now loads correctly on paginated, archive and guest pages where the global $post may be unavailable. Asset loader now scans the main query for shortcodes/blocks and enqueues Leaflet assets accordingly.
CHANGE: Bumped version to 2.0.0.

1.9.9

FIX: Leaflet/map is now displayed correctly even for guests and special pages where $post is not set (fallback to get_queried_object()).

= 1.9.8 =

Fixed: Fixed an issue where the Leaflet map could fail to load on live/optimized sites due to script handle conflicts with themes or other plugins.
Improved: Renamed Leaflet asset handles to unique, plugin-specific names to prevent collisions and ensure correct dependency resolution.
Improved: Removed forced defer handling for Leaflet/map scripts to avoid broken load order when caching/optimization plugins are active.
Improved: Improved map initialization logic to prevent infinite retry loops and reduce console spam when Leaflet isn’t available.

Improved: Kept Leaflet/map assets conditionally loaded only on pages where the widget/block/shortcode is actually rendered.

= 1.9.7 =

Experimental: Tide support added for testing — opt-in feature. Adds support for WorldTides (API key), NOAA (US-only), and a configurable custom endpoint. Shortcode support via extras="tides" or tides="1". Admin visibility can be toggled while rolling out to selected users. Responses are cached; configure TTL in Settings.

= 1.9.5 =

New: Moon phase support via extras="moon" and daily moon information via extras="moon_daily".

= 1.9.4 =

Fixed: Wind direction cardinal calculation and arrow rotation; ensured text-domain i18n call fixed for VC integration; asset sanitization workaround for wind arrow rotation (data-deg + frontend JS).

= 1.9.3 =

New: wind_unit override in Block inspector, Widget settings and Shortcodes Quick Builder.
Improved: metric_knt preset for metric display with knots.
Fixed: Wind direction arrow rotation corrected to match compass degrees.
Fixed: Shortcode wind_unit reliably overrides resolved units and renderer emits data-svv-wind-unit for debugging.
Fixed: Alert threshold comparisons now converted into display units to avoid false alerts.
Fixed: PHP parse error in admin page resolved.
Changed: Plugin version bumped to 1.9.3; readme stable tag updated.
= 1.9.2 =
New: Shortcode/Block/Widget theme attribute — theme="auto|light|dark" to force UI theme per instance (default auto).
New: Quick Builder theme selector in admin Shortcodes page; example shortcode added.
Improved: Renderer emits data-svv-theme and svv-theme- class for easier CSS targeting.
Improved: Frontend CSS and map styling — darker Leaflet tiles in dark theme and darker alert box styles for better contrast.

Changed: Admin JS updated to include theme when generating shortcodes; docs updated across readmes.

= 1.9.0 =

New: Weather Alerts system with smart recommendations for extreme conditions
New: Storm Warning alert for wind speeds exceeding 24.5 m/s
New: Settings Export & Import feature for easy configuration management
New: Performance Dashboard to track API usage, cache efficiency, and response times
New: Full Dark Mode support for all frontend and admin interfaces
New: 3 Gutenberg Block Patterns (Compact, Detailed, Forecast)
New: Alert toggles for Blocks, Widgets, and Shortcodes
New: Wind direction display (wind_dir) — rotated arrow + cardinal labels (optional via show=wind_dir)
New: Shortcode Quick Builder in admin Shortcodes page with selectable options, one-click copy and live preview

New: Rotating Tips panel on the Settings page with contextual admin tips (Shortcodes, Alerts, Performance)
New: Compact action buttons in the Tips panel for quick access to Shortcodes, Alerts and Performance
New: “Reset to defaults” button on the Settings page (nonce-protected) to restore plugin defaults
Improved: Tips text is translation-ready, rotates more slowly for readability (15s), and uses aria-live for accessibility

Improved: animate attribute parsing is more tolerant (accepts 1, true, yes, on)
Improved: Full English translation and i18n readiness (English is now the base language)
Improved: Refined alert thresholds based on meteorological standards

1.8.6

Fixed: Map not rendering in widgets due to missing Leaflet asset detection
Fixed: Block name mismatch (spelhubben/weather → spelhubben-weather/spelhubben-weather) preventing proper asset enqueuing
Improved: Enhanced Leaflet initialization with better timing and error handling in map.js
Improved: Added widget detection in asset loading logic using is_active_widget()
Improved: Added fallback height (height: 240px;) to .svv-map CSS class for better Leaflet container sizing
Improved: Better error reporting and retry logic in map initialization with Leaflet availability checks

1.8.5

Performance: Conditional Leaflet asset loading — only loads when shortcode or Gutenberg block is present on the page.
Fix: Added .htaccess files to prevent WordPress rewrite rules from interfering with static assets.
Fix: Ensure correct MIME types for CSS and JS files to prevent browser strict MIME checking warnings.
UX: Eliminates unnecessary 404 errors on pages without weather widget.

1.8.4

Maintenance: Added centralized configuration constants file (includes/constants.php) for improved code maintainability and reduced magic numbers.
Performance: Settings page now loads 6-30x faster with lazy-loaded WP.org plugin showcase via AJAX.
Fix: Fixed memory leaks from uncleanup event listeners in admin interface with proper cleanup handlers.
Fix: Fixed WMO weather code duplication—fog (codes 45, 48) now displays correctly instead of showing cloud icon.
Fix: Fixed geocoding cache to include API language, ensuring proper locale-specific results for multi-language sites.
Fix: Fixed widget null-safety with null-coalesce operators to prevent PHP Notices.
Fix: Standardized API error handling with consistent response validation across all providers.
Fix: Fixed syntax error in WP.org plugin showcase API call (missing closing parenthesis).
Compliance: Verified full WordPress Consent API and GDPR compliance—no cookies, no tracking, no personal data collection.
Code Quality: Debounce timeout optimized (400ms → 600ms) reducing AJAX traffic by 50% during live preview.
Documentation: Comprehensive audit and testing guides included for developers.

1.8.3

Version bump for production release.

1.8.2

Fix: WordPress naming convention compliance – all global functions and variables now use proper sv_vader_ prefix.
Fix: Corrected asset paths for Leaflet library (vendor directory structure).
Tech: Code review and standards compliance (no breaking changes).
Tested up to: WordPress 6.9

1.8.1

New: 3 selectable icon themes: Classic, Modern Flat, and Modern Gradient (set in Settings → Icon style).
Performance: Optimized icon rendering with static variable caching for icon style preference (reduces repeated sv_vader_get_options() calls).
Tech: Added private helper method build_icon_url() to centralize icon URL logic and improve maintainability.
All icon themes include: sun, partly-cloudy, cloud, fog, rain, sleet, snow, thunderstorm (8 distinct weather conditions per theme).
Updated README and readme.txt with icon theme documentation and admin settings guide.

1.8.0

BREAKING CHANGE: Removed legacy [sv_vader …] shortcode. Use [spelhubben_weather …] exclusively.
New Providers: Added Open-Weathermap and Weatherapi.com for better global coverage (6 total providers).
New Feature: comparison="1" attribute shows all providers’ data side-by-side for easy comparison and debugging.
Performance: Fixed memory leak in map.js (persistent MutationObserver, proper ResizeObserver cleanup).
Performance: Added 7-day transient caching for geocoding lookups to reduce external API calls.
Performance: CSS containment (contain: layout style paint) optimizes rendering on pages with multiple weather cards.
Caching: Improved debounce function to prevent race conditions during window resizes.
Security: Fixed unsafe XML parsing in FMI provider (now uses LIBXML_NOCDATA flag with proper error handling).
Feature: New plugin showcase on settings page displaying other Spelhubben plugins (grid layout, auto-fetches from WordPress.org).
UX: Plugin showcase auto-excludes Spelhubben Weather itself to avoid redundancy.
Tested up to: WordPress 6.8+

1.7.5

Tested up to: 6.9
New: FMI (Finnish Meteorological Institute) as a free, optional provider (t2m, ws_10min, r_1h, n_man via WFS). Toggle in Settings → Providers and via providers="…" in block/shortcode/widget.
Shortcodes/Blocks: providers now accepts fmi.
Docs: Updated examples and FAQ to include FMI.

1.7.0

New: Shortcodes admin page with searchable examples, one-click copy & copy all.
New: Live preview inside WP-admin (sandboxed iframe) that renders shortcodes and loads front assets (Leaflet, widget CSS/JS).
New: Units & format settings (preset + overrides: temp/wind/precip units, date_format).
New: Clear cache button (transients) on settings page.
New: Translations included: Swedish (sv_SE), Norwegian (nb_NO), English (en_US).
UX: Unified light card design across admin pages.
Tech: Robust admin enqueue with cache-busting via filemtime.
i18n: All admin strings localized (including JS: expand/collapse, statuses).
Docs: Marked legacy shortcode as deprecated – will be removed soon.

1.6.2

Minor fixes and readme updates.

1.6.1

Version bump for WordPress.org sync. No functional changes.

延伸相關外掛

文章
Filter
Apply Filters
Mastodon