Awesome Weather Widget


Pro Version available. Weather icons, 5 New Layouts and Custom Templates, Weather by Yahoo! (no API key required), User Location Detection, Email Support.

This plugin allows you to easily add super clean (and awesome) weather widgets to your site.

The weather data is provided for free by and as of October 2015, they require an API Key to access their weather.
Once you have the API Key you can simply add it in ‘Settings’ -> ‘Awesome Weather’ and you’re ready to go.

View the API Key Help Document

Use the built in widget with all of its marvelous settings or add it to a page or theme with the shortcode:

[awesome-weather location=”Oklahoma City”]

All Available Parameters:
[awesome-weather location=”Montreal” units=”F” owm_city_id=”6077243″ size=”tall” override_title=”MTL” forecast_days=”3″ hide_stats=”1″ background=”http://urltoanimage.jpg” custom_bg_color=”#cccccc” inline_style=”width: 200px; margin: 20px; float: left;” background_by_weather=”1″ text_color=”#000″ locale=”fr”]


  • Location: Enter a string like “Montreal, CA” or just “Montreal”. You can even get the City ID from OpenWeatherMap and use that.
  • Units: F (default) or C
  • Size: wide (default) or tall
  • Override Title: Change the title in the header bar to whatever, sometimes it pulls weather from a close city
  • Forecast Days: How many days to show in the forecast bar
  • Hide stats: Hide the text stats like humidity, wind, high and lows, etc
  • Background: URL to an image that will be used as the background of the entire widget
  • Custom Background Color: Add a hex color to override the default colors
  • Inline Styles: Add inline CSS styles to your widget to float around text and whatever else
  • Background Image Based on Weather (v1.5+): Set this to 1 if you want to use different images for different weather types, How to:
  • Text Color: Easily change the text color of the widget without CSS
  • Locale: New locale attribute for shortcodes allows you to change the weather description text without having to change your whole WordPress installation.


  • Portuguese – alvarogois
  • German – Anne Bremer
  • Polish – Femcio
  • Dutch – Marco Rooze
  • Swedish – AJ
  • French – Gilles D.
  • Italian – Cesare C.
  • Russian – Alex
  • Spanish – Joaquín B.
  • Greek – John T.
  • Finnish – Mikko A.
  • Hungarian – Istvan H.
  • Arabic – Fouad Y.
  • Croatian – Vinko P.
  • Nederlands – Schoene H.
  • Turkish – Saban K.


  • Basic wide layout
  • Basic tall layout
  • Micro, using the checkbox 'Hide Stats'
  • Widget Settings
  • Background Image Option (1.2)
  • Add inline styles to your widget and set custom background colors (1.3.1)
  • Use different background images based on weather (1.5)
  • Search for the City ID directly in the widget settings (1.5)


  1. Add plugin to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Register for an OpenWeatherMap API Key
  4. Add your API Key to the settings field in ‘Settings’ -> ‘Awesome Weather’ (added in version 1.5.3)
  5. Use shortcode or widget to display awesome weather on your awesome site

The easiest shortcode setting is just: [awesome-weather location="Oklahoma City"]


Works, but barely

It will grab the weather and display it, but none of the other options work. Want to switch from tall to wide display? Too bad. Want to change the font color? Good luck, the color picker never appears. I’m giving it an extra star for actually retrieving weather data, but nothing else works.


Doesn’t work, hard to understand, limited help and support features. Oh my god it’s so awful. Such a disappointment!

Doesn’t work

Overall sucks. Much easier to just get embed code from Accuweather or something.

Not very awesome. Doesn’t work.

Nothing worse than jumping through hoops, giving your email because you have to create an account to use it, and then the thing doesn’t work.

Doesn’t find any city, no matter what you put in. It doesn’t work.

Read all 80 reviews

Contributors & Developers

“Awesome Weather Widget” is open source software. The following people have contributed to this plugin.


“Awesome Weather Widget” has been translated into 7 locales. Thank you to the translators for their contributions.

Translate “Awesome Weather Widget” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • As per consensus in the support forums, we have changed the forecast temp to use the max temp instead of the generic variable returned from the weather data


  • Another attempted fix to the forecast days


  • Attempted fix to forecast days due to OpenWeatherMap API Change


  • Get just the weather data with function: awesome_weather_data
  • trim value of the API key in awe_get_appid
  • removing trailing slash for background images on some systems double slashes were being added


  • PHP7 Support
  • New lat and lon attributes to get weather by coordinates


  • Updated language to allow for custom translations located at: wp-content/languages/awesome-weather/awesome-weather-{locale}.mo
  • Checkbox to hide the attribution in the widget settings or use shortcode attribute hide_attribution=”1″


  • Language fixes and improvements
  • OpenWeatherMap attribution added as per licensing requirements
  • High and Low temperature fix


  • Wording changes to help improve user experience, thus new updated .pot file
  • Bug fix for AWESOME_WEATHER_APPID constant, wasn’t always being used.
  • Changed awesome-weather-widget.js to awesome-weather-widget-admin.js
  • Moved Widget functions into widget.php file
  • Fixed locations searches that contain commas
  • Check for variables exist before trying to display them (minimizes PHP Notices)
  • Rounding wind speed to nearest integer
  • Added filters used in the PRO version to keep consistancy

  • Added SK to locales and a filter to modify list of available locales

  • Fix trailing slash issue with one of the preset background image checks


  • Two new filters available to remove to the Google font Open Sans. (awesome_weather_use_google_font AND awesome_weather_google_font_queue_name)
  • Added new missing background preset atmosphere.jpg


  • New constant for the AppID: AWESOME_WEATHER_APPID. Set in wp-config.php for multisite installations
  • Shortcode attribute for locale: locale="fr"
  • Shortcode attribute for the units display symbol: units_display_symbol="°F"


  • Preset background images added for the ‘Use Different Background Images Based on Weather’ option
  • Color picker to choose a font color for the whole widget
  • CSS whitespace: no-wrap on the little degree symbols
  • Fixed wind speed to mph for ‘Imperial’ and m/s for Celsius as per the OpenWeatherMap weather data section
  • Updated .pot file

  • Added an error message in the admin widget page to let users know they need an APPID


  • Added spot for API key in ‘Settings’ -> ‘Awesome Weather’
  • Added new setting to decide how to show error messages.


  • Updated WP_Widget construct to prevent future breaking.


  • Changed .custom class to .awe_custom


  • You can now speed up your weather and provide better accuracy by using the new Search box in the widget to find the OpenWeatherMap City ID.
  • We also added the ability to use different background images by weather. Also new CSS properties using the weather condition code and text are added so you can target based on weather type.
  • Added several new filters to modify aspects of the weather widget like changing the C and F to a Degree symbol.
  • Fixed an issue where changing the forecast days would not clear the cache.
  • Default cache is now 30 minutes

  • Hungarian language added (thanks Istvan Hidegkuti

  • Finnish language added (thanks Mikko Anttila)

More languages correctly supported from the OpenWeatherMap API


  • Fixed spanish translations for weather description
  • Transient bug for languages also


Added box-sizing: border-box to hopefully clean up the widget in many themes.


  • New translations added.
  • Caching fixes
  • Fixed checkboxes in widget settings
  • Checked to be working with WordPress 3.9


  • Extended forecast now uses WP current_time to determine what days to show, setting in ‘Settings’ -> ‘General’
  • Added a Widget Title field that uses the standard widget code from the sidebar (optional)
  • Fixed bottom margin issue for Firefox
  • Minor CSS tweaks
  • Support for OpenWeatherMaps City ID, just insert in the Location field.
  • Support for rgba() in the Custom Background Color
  • Changed default cached time from 1 hour to 3 hours
  • Cleaned up two PHP notices in admin


Fixed issue with Location stripping spaces from text cause weather to not get accessed. Thanks @storkontheroof!


Moved Google Font out of CSS into enqueue


  • Improved support for poorly coded themes that load the before_title and after_title with extra divs and don’t take into account that widgets may not use a title.
  • Portuguese translation created by user: alvarogois


  • Added setting for color override
  • Added URL param to clear transient cache ‘?clear_awesome_widget’
  • Added new translations for the days of the week in the extended forecast
  • Improved caching support
  • Ability to add inline styles to the widget shortcode


  • Upgraded to most recent OpenWeatherMap APIS
  • Ready for translations
  • Current Locales available from OpenWeatherMap:
  • English – en, Russian – ru, Italian – it, Spanish – sp, Ukrainian – ua, German – de, Portuguese – pt, Romanian – ro, Polish – pl, Finnish – fi, Dutch – nl, French – fr, Bulgarian – bg, Swedish – se, Chinese Traditional – zh_tw, Chinese Simplified – zh_cn, Turkish – tr


  • Improved error handling with API calls


  • Widget with custom background CSS issue.


  • Forecast now stops showing today.


  • remove file_get_contents and used wp_remote_get


  • Background Image Option in widget


  • Background Image Option


  • Errors are now commented out. Look in the source to see what the problem is.
  • Ability to add link to openweathermap for extended forecast


  • Removed debugging code, sorry!


  • Changed API endpoints


  • Initial load of the plugin.