Easily customise and embed the windy.com widget as a native WordPress widget or shortcode.
Ventus allows you to easily embed the windy.com widget on your website, in the form of a native WordPress widget (accessible from Appearance > Widgets) or as a simple shortcode.
It is a lightweight plugin built using an object-oriented approach, and follows WordPress Coding Standards.
The shortcode accepts up to 16 attributes. You can simply use [ventus]
and it will work (or the old shortcode [weather-map]
which will continue to work), but you will most likely want to customise the remaining attributes yourself.
An example of a fully filled-out shortcode would be:
[ventus width="100%" height="350px" radius="20px" loading="lazy" lat="53.199" lon="-7.603" zoom="4" layer="wind" level="surface" scale="C" units="knots" pressure="true" marker="true" model="ecmwf" forecast="true" time="12"]
The attributes can be set as follows:
width
attribute accepts any valid CSS property for width.height
attribute accepts any valid CSS property for height.radius
attribute accepts any valid CSS property for border-radius.loading
attribute accepts either lazy or eager. The default is lazy loading.lat
attribute must contain a string of digits to three decimal places, in the range of -90 to +90 (e.g. “53.199”). lon
attribute must also contain a string of digits to three decimal places, in the range of -180 to +180 (e.g. “-120.894”). zoom
attribute must contain a number between 3 and 11 (inclusive).layer
attribute accepts the following values: clouds, cosc (CO concentration), currents, gust, radar, rain, snowcover, sst (sea temperature), temp (standard temperature), waves and wind.level
attribute (only effective when the layer is wind or temp) accepts the following values: surface, 100m, 950h (600m), 925h (750m), 900h (900m), 850h (1500m), 800h (2000m), 700h (3000m), 600h (4200m), 500h (5500m), 400h (7000m), 300h (9000m), 250h (10000m), 200h (11700m) and 150h (13500m).scale
attribute accepts either “C” or “F”, defining Celsius and Fahrenheit respectively.units
attribute accepts the following values: bft (beaufort), km/h (kilometers per hour), kt (knots), m/s (meters per second) and mph (miles per hour).pressure
attribute can be set to true to display pressure isolines, otherwise the isolines will remain hidden.marker
attribute can also be set to true, otherwise it will remain hidden.forecast
attribute can be set to true to display the spot forecast, otherwise it will remain hidden.time
attribute accepts the following values: now (the default), 12 (12 hours from now) and 24 (24 hours from now).model
attribute accepts the following values: ecmwf, icon, iconEu, gfs and nems.Note that in the case of an invalid value, a default value will be used instead.
The wind layer, zoomed in over the west of Ireland. We talk a lot about the weather here. :)
The temperature layer, zoomed in over São Paulo, Brazil.
The CO (carbon monoxide) concentration layer, zoomed in over China.
The waves layer, zoomed in over the Atlantic Ocean.
The widget view from the admin area (Appearance > Widgets).
This can happen sometimes with the shortcode if you wrap the longitude or latitude attributes in the wrong kind of quote marks.
Mark sure you are using " "
rather than ” ”
, e.g.
Correct: lat="44.096"
Incorrect: lat=”44.096”
The easiest (and recommended) way to do this is to go straight to windy.com. Once there, take note of the URL. It will contain the latitude and longitude in its parameters, and if you zoom in, it will also contain the zoom level. For example, the sample parameters I use as defaults are: latitude 53.199, longitude -7.603, and a zoom level of 5. These would show in the URL in the following format: windy.com/?53.199,-7.603,5.
If you’d prefer to do this, that’s great – no problem! However, this plugin was created to make the iframe that windy.com kindly provide even more useful. To that end, it offers the following advantages:
Shout out to Marco Simonetti for the assist!
[ventus]
(the old shortcode [weather-map]
has been maintained for backwards-compatibility).