OWM Weather


OWM Weather is derived from the discontinued plugin WP Cloudy. It uses many of the same settings but is completely separate.

OWM Weather is a flexible and easy to use weather plugin that allows the creation of unlimited different weathers using Custom Post Types and the Open Weather Map API.

Create a weather, select your location, choose the data and customize the look-and-feel with a few clicks.

Embed it anywhere with the automatically generated shortcode via copy and paste in posts, pages, text widgets, or directly in the PHP files of your theme.

With Custom Post Types, you minimize the maintenance: Override certain settings in the system setup and thereby change all weather posts automatically.


Weather information

Current weather conditions, alerts, hourly up to 48 hours and daily up to 7 days.

Completely customizable

Data items can be selected and styled individually. Pick your measurement system, time format and zone. Choose from several templates, fonts, or icon sets.
Developers have access through custom templates to the raw Open Weather Map data – converted to the selected measurement system, time format and zone – to build a completely customized layout. A builtin debug template shows all options, data and generated html snippets.

Shortcode Placement

Use in content and/or sidebar, or as widget on the admin dashboard. Multiple completely different weathers can be shown on the same page.

Weather Location

The world-wide location can be specified by the OWM city id (available for over 200,000 cities), the city/country name via dynamic search, the zip code, the latitide/longitude or the IP address of the user (geo location).

Unlimited weathers

OWM Weather uses WordPress Custom Post Types which allows for an unlimited number of weathers.

Cache system

Weather data is cached at a frequency defined by you. The data is then loaded from your server and you no longer depend on external sources. This avoids slowdowns and blocked page rendering.

Open Weather Map API

OWM Weather retrieves the weather information from the Open Weather Map website, a free weather data and forecast API. Get your own free API key to avoid running into call limits. Note: I can take several hours before your API key is activated ny OWM.

Dashboard Weather

You can include OWM Weather in your WordPress Dashboard as a widget.

Flat & Retina responsive design

Minimalist and flat responsive design, fully vectorial (SVG/CSS/Webfont), for a perfect display on all devices.

Options panel

You want to apply configuration settings globally? With our system options panel you can bypass each individual setting on all weathers in just a few clicks. A weather page can opt out of this bypass to ensure it always looks the same.

Google Tag Manager

Weather information (current temperature, cloudiness, short description and category) can be pushed to the Google Tag Manager datalayer to analyze web traffic by weather.

No ads. Free

Our plugin will never display any advertising on your site. Did we mention it’s a free WordPress plugin? We kindly ask for a donation should you like the plugin.

Weather Settings

The shortcode options are in […]. See ”Shortcode options” for possible values.


  • Get weather by …
    The first populated field will be used for the location. If none are filled, it defaults to the visitor’s location.

    • City Id [id_owm]
      The OpenWeatherMap city id.
    • Longitude [longitude] /Latitude [latitude]
      The longitude and latitude.
    • Zip [zip] / Country [zip_country_code]
      The postal code and country (were supported).
    • City [city] / Country [country_code]
      The name of the city and country.
    • Visitor’s Location
      The approximate location from the vistor’s browser IP address.
  • Custom city title [custom_city_name]
    Overwrites the OpenWeatherMap city name.
  • Measurement system [unit]
    • ”Imperial” displays temperatures in Fahrenheit, precipitations in inches, and pressures in inches of mercury.
    • ”Metric” displays temperatures in Celsius, precipitations in millimeter, and pressures in hectopascal (millibar).
  • Time format [time_format]
    12 or 24 hour time format.
  • Timezone [custom_timezone]
    • ”WordPress timezone”: The WordPress timezone from the general settings.
    • ”Local timezone”: The time zone of the OpenWetaherMap location.
    • ”UTC-12” to ”UTC+12”: Coordinated universal time with adjustment from -12 to +12.
  • OpenWeatherMap languages [owm_language]
    OpenWeaterMap will return some of the text fields (i.e. city name, condition text, description and alert) in the selected language.
  • Google Tag Manager datalayer [gtag]
    The following fields will be added to the dataLayer when the page loads:

    • weatherTemperature
    • weatherFeelsLike
    • weatherCloudiness
    • weatherDescription
    • weatherCategory
    • weatherWindSpeed
    • weatherWindDirection
    • weatherHumidity
    • weatherPressure
    • weatherPrecipitation
    • weatherUVIndex
    • weatherDewPoint

    These values have to be captured in Tag Manager variables and then assigned to Analytics custom dimensions or metrics.

  • Exclude from System Settings and Parameter Bypass [bypass_exclude]
    Turn this on if you don’t want the OWM Weather system defaults to override any settings for this weather.


  • Current weather city name [current_city_name]
    Show the city name for the current location.
  • Current weather symbol [current_weather_symbol]
    Show current weather condition icon.
  • Current temperature [current_temperature]
    Show current temperature value.
  • Current feels like temperature [current_feels_like]
    Show current feels-like temperature value.
  • Current weather short condition [current_weather_description]
    Show short current weather condition text.
  • Temperatures unit (C / F) [display_temperature_unit]
    Show the appropriate temperature symbol next to all temperature values.
  • Date [today_date_format]:
    • No date: Do not show today’s date.
    • Day of the week: Show today’s day of the week name.
    • Today’s date: Show today’s date based on your WordPress general settings.
  • Sunrise + sunset [sunrise_sunset]
    Show sunrise and sunset times.
  • Moonrise + moonset [moonrise_moonset]
    Show moonrise and moonset times.
  • Wind [wind]
    Show current wind speed and direction.
  • Wind unit [wind_unit]
    Choose between mi/h, m/s, km/h or kt.
  • Wind icon direction [wind_icon_direction]
    • ”to” the icon points in the direction the wind is flowing (default)
    • ”from” the icon points towards the source of the wind flow
  • Humidity [humidity]
    Show current humidity percentage.
  • Dew Point [dew_point]
    Show current dew point temperature.
  • Pressure [pressure]
    Show current atmospheric pressure.
  • Cloudiness [cloudiness]
    Show current cloud cover percentage.
  • Precipitation [precipitation]
    Show current precipitation amount.
  • Visibility [visibility]
    Show current visibility.
  • UV Index [uv_index]
    Show current UV index.
  • Alerts [alerts]
    Show national weather alerts. Each alert creates a button that opens a popup window with the detailed information.
  • Alert Button color [alerts_button_color]
    The color for the alert buttons.
  • Hourly Forecast: How many hours [hours_forecast_no]
    Choose up to 48 hours, including now. Note: Cached hours in the past will not be shown.
  • Display time icons [hours_time_icons]
    Display analog clock icons for the hourly times.
  • Daily Forecast: How many days [forecast_no]
    Choose up to 8 days, including today. Note: Cached days in the past will not be shown.
  • Forecast Precipitations [forecast_precipitations]
    Show the precipitation amount in the daily forecast.
  • Day labels [display_length_days_names]:
    • Short days names: Sun – Sat
    • Normal days names: Sunday – Saturday
  • Link to OpenWeatherMap [owm_link]
    Add OpenWeatherMap link for location in footer.
  • Update date [last_update]
    Add OpenWeatherMap last data update timestamp in footer.


  • Template [template]
    Choose the display template or use the custom templates as the basis to create your own.
  • Font [font]
    Choose the text font. Default is the font from your template.
  • Icon Pack [iconpack]
    Choose the weather icon pack.
  • Background color [background_color]
    Choose the background color. Default is the background from your template.
  • Background image [background_image]
    Choose the background image from your media library. Default is the background color.
  • Text color [text_color]
    Choose the text color. Default is the color from your template.
  • Border color [border_color]
    Choose the border color. Default is none.
  • Border width [border_width]
    Choose the border width in pixels. Default is 0.
  • Border style [border_style]
    Choose the border style (solid, dotted, dashed, double, groove, inset, outset, ridge). Default is none.
  • Border radius [border_radius]
    Choose the border radius om pixels. Default is none.
  • Disable loading spinner [disable_spinner]
    Show the spinner while retreiving the weather data.
  • Disable animations for main icon [disable_anims]
    Check this if you want the static icon from the selected icon pack instead of the animated Climacon icon for the current condition.
  • Weather size [size]
    Choose between small, medium and large.
  • Custom CSS [custom_css]
    Add custom CSS rules to style the standard templates. Preceed all CSS rules with .owmw-XXX if you are planning to use more than one weather shortcode on a page.
  • Tables Background color [table_background_color]
    See above.
  • Tables Text color [table_text_color]
    See above.
  • Tables Border color [table_border_color]
    See above.
  • Tables Border width [table_border_width]
    See above.
  • Tables Border style [table_border_style]
    See above.
  • Tables Border radius [table_border_radius]
    See above.
  • Charts Height [chart_height]
    Height of the chart in pixel. Standard is 400.
  • Charts Background color [chart_background_color]
    See above.
  • Charts Border color [chart_border_color]
    See above.
  • Charts Border width [chart_border_width]
    See above.
  • Charts Border style [chart_border_style]
    See above.
  • Charts Border radius [chart_border_radius]
    See above.
  • Charts Temperature color [chart_temperature_color]
    Choose the color for the temperature line in the chart. Default is #d5202a.
  • Charts Feels like color [chart_feels_like_color]
    Choose the color for the feels-like temperature line in the chart. Default is #f83.
  • Charts Dew point color [chart_dew_point_color]
    Choose the color for the dew point temperature line in the chart. Default is #ac54a0.


  • Display map [map]
    Check to display the OpenWeatherMap.
  • Map height [map_height]
    Height of the map in pixel. Default is 300 pixel.
  • Layers opacity [map_opacity]
    The opacity for the below layers on the map.
  • Zoom [map_zoom]
    The initial zoom level (1-18) for the map. Default is 9.
  • Disable zoom wheel on map [map_disable_zoom_wheel]
    Check to disable the zoom wheel on the map.
  • Display stations [map_stations]
    Add a layer option for weather station locations.
  • Display clouds [map_clouds]
    Add a layer option for cloud cover.
  • Display precipitation [map_precipitation]
    Add a layer option for precipitation.
  • Display snow [map_snow]
    Add a layer option for snow.
  • Display wind [map_wind]
    Add a layer option for wind.
  • Display temperature [map_temperature]
    Add a layer option for temperature.
  • Display pressure [map_pressure]
    Add a layer option for pressure.

OWM Weather System Settings


  • Disable cache
    Disable the weather cache feature. This is only useful for development and not recommended for a production system.
  • Time cache refresh
    The amount of time in minutes to cache the OpenWeatherMap data before retrieving fresh data. The default value is 30 minutes. OpenWeatherMap advises on their webpage that it is not recommnded to set this lower than 10 minutes.
  • Open Weather Map API key
    OWM Weather has an API key built in to allow for immediate testing. This key is shared between all users of this plugin, so you are strongly advised to get your own key to avoid call limits.
  • Disable Bootstrap Modal JS
    OWM Weather installs the Bootstrap 4 system. You should disable this here if your theme comes already with Bootstrap 4.

Basic / Display / Layout / Map

These are the same options as for weather pages, see above. The system settings will override the settings at the weather page unless the weather page has the ”Exclude from System Settings and Parameter Bypass” flag set.


  • Import the OWM weather system settings from a file.
  • Export the OWM weather system settings to a file.
  • Reset all OWM weather system settings. Does not affect the weather pages.

Clear OWM Weather cache

Allows to delete all cached OpenWeatherMap data and retrieve fresh data with the next weather page display.

OWM Weather Shortcode options

The shortcode parameters will override system and weather page settings.

  • background_image

    The WordPress page number for the media image. No default.

  • city

    The name of the city. No default.

  • country_code

    The 2 letter country code. Default ”US”.

  • custom_city_name

    Any text. No default.

  • custom_css

    Any CSS rules. No default.

  • custom_timezone

    ”Default”, ”local”, ”-12”, ”-11”, ”-10”, ”-9”, ”-8”, ”-7”, ”-6”, ”-5”, ”-4”, ”-3”, ”-2”, ”-1”, ”0”, ”1”, ”2”, ”3”, ”4”, ”5”, ”6”, ”7”, ”8”, ”9”, ”10”, ”11”, or ”12”. Default is ”Default”.

  • display_length_days_names

    ”short” or ”normal”. Default: ”short”.

  • font

    ”Default”, ”Arvo”, ”Asap”, ”Bitter”, ”Droid Serif”, ”Exo 2”, ”Francois One”, ”Inconsolata”, ”Josefin Sans”, ”Lato”, ”Merriweather Sans”, ”Nunito”, ”Open Sans”, ”Oswald”,
    ”Pacifico”, ”Roboto”, ”Signika”, ”Source Sans Pro”, ”Tangerine”, or ”Ubuntu”. Default: Current font from WordPress template.

  • forecast_no
    The number of forecast days (0-8), 1 meaning today. Default: 0.

  • hours_forecast_no

    The number of forecast hours (0-48), 1 meaning this hour. Default: 0.

  • iconpack

    ”Climacons”, ”OpenWeatherMap”, ”WeatherIcons”, ”Forecast”, ”Dripicons”, or ”Pixeden”. Default: ”Climacons”.

  • id_owm

    The [OpenWeatherMap city id][https://openweathermap.org/find?q=]. No default.

  • latitude

    Latitude of the locations as real number between -90 and 90. No default.

  • longitude

    Longitude of the locations as real number between -180 and 180. Default 0.5.

  • map_opacity

    Real number in 0.1 steps from 0 to 1. No default.

  • map_zoom

    Map zoom level as integer between 1 and 18. Default 9.

  • owm_language

    The [OpenWeatherMap language code][https://openweathermap.org/api/one-call-api#multi]. Default ”en”.

  • size

    ”small”, ”medium” or ”large”. Default ”small”.

  • template

    ”Default”, ”card1”, ”card2”, ”chart1”, ”chart2”, ”custom1”, ”custom2”, ”slider1”, ”slider2”, ”table1”, ”table2”, or ”debug”. Default is ”Default”.

  • time_format

    ”12” or ”24”. Default ”12”.

  • today_date_format

    ”none”, ”day” or ”date”. Default is ”none”.

  • unit

    ”imperial” or ”metric”. Default ”imperial”.

  • wind_unit

    ”mi/h”, ”m/s”, ”km/h”, or ”kt”. Default ”mi/h”.

  • zip

    Postal code. No default.

  • zip_country_code

    Country code for the postal code. Default ”US”.

  • chart_height

    Positive integer height in pixels. See defaults at description.

  • alerts_button_color

    HTML HEX Color without ”#”. No default.

  • border_width

    Positive integer width in pixels; 0 to suppress border. Default: 0.

  • border_style

    ”solid”, ”dotted”, ”dashed”, ”double”, ”groove”, ”inset”, ”outset”, or ”ridge”. Default: ”solid”.

  • border_radius

    Positive integer radius in pixels; 0 to suppress radius. Default: 0.

  • alerts

    ”yes” or ”no”. No default.


  • English

Partial translations:

  • French
  • Italian (thanks to www.tosolini.info)
  • Hungarian (thanks to Tom)
  • Hebrew (thanks to Ben Klinger)
  • Polish (thanks to Marcello/Rafal Wronowski)
  • Russian (thanks to Andrea)
  • Danish (thanks to Carsten Klingenberg)
  • German (thanks to Lutz Bennert)
  • Portuguese (thanks to Deoclides Neto)
  • Spanish (thanks to Wladimir Espinoza Durán)
  • Chilean (thanks to Wladimir Espinoza Durán)
  • Dutch (thanks to Age de Jong)
  • Persian (thanks to @mARYAm)

For developers

Templating system: The main advantage is that you can create a completely personalized weather without changing the core of the plugin. In addition, your changes will not be overwritten at each plugin update.

  • Go to OWM Weather template directory: http://yoursite.com/wp-content/plugins/owm-weather/template/
  • Copy content-owmweather-custom1.php and content-owmweather-custom2.php files.
  • Go to your theme directory: http://yoursite.com/wp-content/themes/yourtheme/
  • Create a new folder called owm-weather (the spelling is important).
  • In this new folder, paste content-owmweather-custom1.php and content-owmweather-custom2.php files.
  • Now, open content-owmweather-custom1.php or content-owmweather-custom2.php with a php editor like notepad ++, coda2, sublime text…
  • Write your weather layout.. You can use the other templates as guidelines.
  • Save and send your changes via FTP.
  • Now you built a custom weather template. Select the template ”Custom 1” or ”Custom 2” in your weather settings.


  • Basic current weather info with alerts
  • Alert popup.
  • Detailed current weather info with alerts.
  • Adding a background image.
  • Detailed current weather info with alerts and map.
  • Detailed current and forecast weather with alerts and map.
  • Detailed current weather. Detailed hourly forecast in table.
  • System options panel.
  • Weather page setup.
  • Basic current weather for multiple cities.


Detta tillägg erbjuder 1 block.

  • OWM Weather


Via WordPress admin

  1. Login to your admin site.
  2. Click the Plugins menu, then click the ”Add New” button.
  3. Search OWM Weather.
  4. Click ”Install Now” and then ”Activate”
  5. If all went well, a new ”Weather” menu should appear.


  1. Download the plugin from the official WordPress directory or from GitHub.
  2. Connect to your FTP.
  3. Upload the unzipped “owm_weather” folder in the root plugins directory “/wp-content/plugins/”.
  4. Activate the plugin from the Plugins menu of your admin.
  5. If all went well, a new ”Weather” menu should appear.
  6. Get your free OpenWeatherMap API key at https://www.openweathermap.com and enter it under Settings/OWM Weather

Creating your first weather

  1. Goto Settings / OWM Weather. Enter your API key, if you have one. Check ”Disable Bootstrap” if you already include Bootstrap in your theme. Leave all other settings as is for now and ”Save Changes”.
  2. Click on the new custom post type called ”Weather” and create a ”New Weather”
  3. Fill one of the tabs under ”Get weather by…” or leave empty for user’s location by ip address
  4. Choose ”Measurement System” Imperial for Fahrenheit and miles, or ”Metric” for Celsius and kilometers.
  5. Choose ”12” or ”24” hour time format.
  6. Under the ”Display” tab, select the fields you would like to display.
  7. ”Publish” your weather.
  8. Put the shortcode ”[owm-weather id=”XXX”/]” on a page or post, and look at the page.
  9. You just created your first weather! Now you can add additional fields under ”Display”, change the look-and-feel under ”Layout” or add a map with layers under ”Map”.

Vanliga frågor

How many cities are supported by OWM Weather?

Over 200,000 cities from 238 countries and territories. Every location on earth is also selectable via latitude/longitude.

How many differents weather can I create with OWM Weather?

Unlimited due to WordPress Custom Post Types.

In which languages is the weather data displayed?

The setup pages are displayed in English with partial translations in French, Italian, Hungarian, Hebrew, Polish, Russian, Danish, German, Portuguese. Open Weather Map provides the data in most languages.

How to define the unit Celsius or Fahrenheit?

When creating your weather, choose ”Imperial” for Fahrenheit or ”Metric” for Celsius from the drop down list ”Measurement system”.

How to define a custom title for my weather?

Simply enter text in the ”Custom city title”. If you leave it blank, the default title will correspond to the Open Weather Map ”City” field.

Is it possible to add multiples weathers in a same page?

Yes. Each weather can have a completely different setup and layout.

What is the source of the datas?

Open Weather Map (https://openwweathermap.com)

Where is the global settings page?

In WordPress admin, Settings menu, OWM Weather.



Can I import/export weathers?

Yes, using the default WordPress importer/exporter tool (free).

Can I import/export global OWM Weather settings?

Yes, in Settings > OWM Weather > Import/Export/Reset tab.

Is OWM Weather compatible to WP Cloudy?

Although many settings look alike, OWM Weather uses completely different weather pages and system settings so both can be activate at the same time.


19 januari 2022
Keeps on loading everytime. I've registered to get the API from the website but doesn't work. doesn't go beyond the loading...
14 januari 2022
You will definitely have to read about how to set this up. Getting at free API is easy. Once I read I needed to click NEW > Map I was in business. Finding the correct number to add was a bit confusing. I was working on a website in Turks and Caicos Islands (code is 3576916) and how I found that out was copying the number in the URL from the search on [Open Weather Map] This works, and I went through about 4 other plugins before I found one that just worked. The benefit is, this also looks great without any edit. So now [My Site] is up and running and has the weather information right there. Having the shortcode was great.
10 oktober 2021
Finally a plugin that also allows automatic switching of latitude and longitude. Nice work!
Läs alla 5 betyg

Bidragsgivare och utvecklare

”OWM Weather” är programvara med öppen källkod. Följande personer har bidragit till detta tillägg.

Bidragande personer

Översätt ”OWM Weather” till ditt språk.

Intresserad av programutveckling?

Läs programkoden, kika på SVN-filförvaret eller prenumerera på utvecklarloggen via RSS.



  • added display option for the direction the wind icons should point (default: direction of the wind)
  • added additional html ready celsius/fahrenheit temperature fields for main and main feels like temperature
  • fixed temperature unit character and text for maps and charts


  • added additional temperature fields with celsius and fahrenheit for custom templates


  • fixed custom css lost after editing weather again
  • tested up to WordPress 5.8.2
  • table html snippets will only include selected columns
  • new table3 template with data from ”5 Day / 3 Hour Forecast” api
  • updated Bootstrap to 4.6.1


  • fixed custom css option editing in weather page
    (Note: Check your custom css options and delete contents if necessary)
  • fixed html for system settings menu
  • added documentation for weather and system settings as well as shortcde parameters
  • revised system settinsg help page
  • added support tab in system settings
  • reworded 2 weather page option labels


  • fixed latitude input value ranges
  • fixed moonrise and moonset times
  • fixed card1 template display on small screens


  • fixed weather page setup not keeping all option values
  • fixed WeatherIcons
  • fixed table and chart templates not honoring the number of hours/days
  • fixed minor warnings when only gtag is turned on
  • fixed minor warnings in chart templates when no hours/days selected
  • now tested up to WordPress 5.8.1


  • fixed Laragon activation issue


  • custom city name option didn’t save
  • revised logos and banners
  • custom css contents did not get printed in templates


  • Using OWM Onecall API to get 48 hour and 7 day forecasts (instead 5 Day / 3 Hour Forecast) and alerts
  • Make available all data returned by OWM API, converted according to options at weather page
  • All bypass options can now enable and disable the weather option; weather can protect itself from bypass
  • Templates with cards, sliders, tables and charts. Debug template for developers.
  • Iconpack selection
  • Font selection
  • Automatic geo location by ip address
  • Fluid layout w/ bootstrap
  • Multiple weather (even with maps) on same page, each with its own settings
  • Shortcode parameters that allow usage of one weather template for different locations and layouts
  • Fill Google Tag Manager datalayer with current weather info


  • Restarted WP Cloudy under OWM Weather