[WordPress] 外掛分享: Spelhubben Weather

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

內容簡介

Spelhubben Weather 外掛可顯示當前天氣及選擇性預報,並整合多個免費全球天氣提供者的數據,提供簡單的共識計算,適用於全球,特別是在歐洲地區表現優異。

【主要功能】
• 顯示當前天氣和預報選項
• 整合多個免費天氣數據來源
• 支援全球範圍,特別是歐洲
• 提供小工具和區塊功能
• 完全可翻譯,支援多種語言

外掛標籤

開發者團隊

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

① 下載 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

Install compiled translations:

For a site language pack, use wp-content/languages/plugins/spelhubben-weather-de_DE.mo (replace de_DE with the exact WordPress locale). WordPress language-pack updates can replace files here; use a translation tool’s protected custom location and loading integration for site-specific overrides.
For translations distributed with this plugin, use its /languages/ directory. Any locale is supported without a code change, including variants such as de_DE_formal. Plugin updates replace this directory.
.po files are editable sources; WordPress reads .mo or .l10n.php. If both compiled formats exist, regenerate both because WordPress normally prefers .l10n.php.
Generate PHP catalogs with wp i18n make-php languages and block editor JSON with wp i18n make-json languages --no-purge. Keep the generated JSON filenames: their hash identifies the source script.
Installed translations take precedence; bundled catalogs fill missing PHP and JavaScript messages for the same locale. Missing translations fall back to the original English text.

Activate your translation:

Change your WordPress language to match the locale code (Settings → General → Site Language)
The plugin will automatically load the translated strings
Frontend output follows the site’s active language; admin follows the user’s WordPress language. Multilingual tools must set the WordPress locale, not just the page’s HTML lang attribute.
Weather descriptions supplied by external APIs depend on that provider’s supported languages. Plugin labels and WMO descriptions use your WordPress translation. Weather caches are separated by the full locale.

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
Mastodon