Forums » Plugin: ICIT Weather Widget » Plugin stops working

  • Resolved zimbo000

    (@zimbo000)


    I installed this plugin on a site a week or so back but I am getting regular ‘crashes’ where the plugin stops and displays this message:

    Warning: Invalid argument supplied for foreach() in /www/sites/fd7/491/www.henleyherald.com/web/wp-content/plugins/interconnect-it-weather-widget/includes/helpers.php on line 66

    Parts of today’s weather are usually displayed, sometimes all of it, but the 3 day forecast is not.

    Some time later the plugin starts working again.

    I guess this happens because the link to the OpenWeatherMap API is down?

    1. Is this a common occurrence?
    2. Is there anyway to stop it happening?
    3. Is there any debug / analysis / checks I can do to verify if the link to the API is the problem?

    This is my shortcode:`
    [icit_weather city=”Henley on Thames” country=”UK” celsius=”true” breakdown=”true” display=”extended” credit=”false” background_day=”#e0e0e0″ background_night=”#e0e0e0″ ]`

    https://wordpress.org/plugins/interconnect-it-weather-widget/

Viewing 12 replies - 1 through 12 (of 12 total)
  • Plugin Contributor AndyWalmsley

    (@andywalmsley)

    Hi zimbo000,

    I’m getting a similar problem on my copy so as you said, it seems to be a problem with OpenWeatherMap being a bit slow at times. I will look into making the plugin more reliable in the next update when I get time.

    For now though, you can add frequency="1" to your shortcode which will allow you to refresh the weather faster which will hopefully get the weather the second time if not the first.

    Thread Starter zimbo000

    (@zimbo000)

    Do the changes made in 2.4 fix this problem and if so do I need to keep frequency=1 in the shortcode? Or remove it / alter the value?

    Plugin Contributor AndyWalmsley

    (@andywalmsley)

    I haven’t specifically changed anything for this yet, as it still just seems to happen when OpenWeatherMap is a bit slow and I haven’t found anything that can help yet.

    So I would say keep that in for now, and if you find yourself not really needing to refresh as much you can take it out or increase the time from 1 minute (default is 60).

    I’ll keep looking for ways to improve the performance as it is a crucial part of the plugin.

    Plugin Contributor AndyWalmsley

    (@andywalmsley)

    Hi zimbo000,

    The latest version 2.4.2 should help with plugin reliability so you can remove the frequency attribute from the shortcode.

    Errors are handled slightly differently now so if an error occurs the data will be reset on the next refresh no matter what you set the frequency to, if everything is returned alright then data will be stored for whatever you set frequency to, default is 60 minutes.

    Thread Starter zimbo000

    (@zimbo000)

    @andywalmsley

    The update to 2.4.2 initially broke the plugin.

    This was the code on the homepage that worked before:
    [icit_weather city="Henley on Thames" country="UK" celsius="true" breakdown="true" display="bottom" credit="false" frequency="1" ]

    I removed the frequency=1 as you suggested, and got this error:
    “An error has occured with the ICIT Weather Widget, check your settings to make sure the city you are searching for exists.”

    {NB. occurred has r x 2]

    I looked at your plugin page and followed the link to http://openweathermap.org/help/city_list.txt where I found this:
    2647101 Henley on Thames 51.533329 -0.900000 GB

    Changing Henley on Thames to its ID and country to GB made the plugin work again. I then changed the ID to name, and it still works. But it used to work with “UK” on 2.4.1 and your FAQ says “country – Country the city is in (“UK”)” – but this stopped working with 2.4.2 and appears to need GB now.

    The test site using 2.4.2 is here if it’s of any use: http://dev.henleyherald.com/

    Hope this is useful info.

    Plugin Contributor AndyWalmsley

    (@andywalmsley)

    Yeah, a few people have reported a similar problem and I’m looking into why it’s doing this as it was working fine on my test copy, there will hopefully be an update early this week with a fix.

    Thread Starter zimbo000

    (@zimbo000)

    I’ve updated to 2.4.3 but I’m still using GB not UK and all seems OK.

    Given that http://openweathermap.org/help/city_list.txt says GB,
    should I now use GB or UK for country?

    Plugin Contributor AndyWalmsley

    (@andywalmsley)

    It shouldn’t really make much difference but if one seems to work better then stick with that one. The only difference I noticed between GB and UK is the country name returns fully if using UK while GB only returns ‘Gb’.

    When I used the name Henley on Thames though OpenWeatherMap would occasionally return weather for Birmingham. Using Henley-on-Thames worked better but ID always returned the right place.

    So, I’ve found that ID works best and if using ID then country will only affect the display of country name.

    Also, there is currently a slight problem with the weather not updating when updating shortcodes, this is going to be updated very soon, I’m just doing a couple more tests to make sure everything works.

    Thread Starter zimbo000

    (@zimbo000)

    Just updated to 2.4.4.

    I now get the weather in Orosei, Italy with this shortcode:
    [icit_weather city="2647101" country="UK" celsius="true" breakdown="true" display="bottom" credit="false"]

    2647101 is Henley on Thames…

    See here: http://dev.henleyherald.com/

    There is no caching plugin on this dev site.

    Plugin Contributor AndyWalmsley

    (@andywalmsley)

    That shortcode is working fine for me.

    Try changing something on the post/page and refreshing again, updating the post/page when using shortcode should force the data to be cleared so that settings can be updated.

    Let me know if that doesn’t fix it.

    Thread Starter zimbo000

    (@zimbo000)

    Bizarre. I’d done that sort of thing, including deactivating the plugin, for about 20 mins but couldn’t get rid of Orosei. It also repeatedly showed Italy in a different browser, despite clearing the cache, so I posted #10.

    I went away for lunch, came back and saw your reply so loaded Firefox again – and without changing anything, Henley is now displayed. What could cause that?

    Plugin Contributor AndyWalmsley

    (@andywalmsley)

    It will be to do with how the data is stored when using shortcodes.

    It’s now using WordPress Transients so the data gets stored in the database for as long as the frequency parameter is set, or until there is a change to the settings. So changing browsers shouldn’t change anything as it’s getting the data from the database.

    To check when the settings have changed using the shortcode is just goes by when the post/page was last updated, or when the data was last updated due to it timing out depending on which was latest.

    That still doesn’t really explain why it was displaying Orosei in the first place unless there was another weather transient with that data stored in it.

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘Plugin stops working’ is closed to new replies.