Добавил виджет с погодой от компании YoWindow, который вы можете наблюдать справа.
Установка особых затруднений не вызывает: идем на сайт с виджетом, выбираем нужные пункты и добавляем полученный код в текстовый виджет WordPress. Единственный момент — у меня почему-то не заработал код, который предназначен для WordPress (вместо картинки выводился текст), поэтому пришлось взять код, который подходит для любого сайта.
Не будь я программистом, если бы оставил погодный виджет как есть. Поэтому я добавил выбор по рандому пейзажа. Каждый раз виджет показывает разный пейзаж (аэропорт, восточный, деревня, море). Как это сделано сейчас расскажу — добавляем перед «div style» вот такой код:
<?php function yo_get_landscape() { $items = array("seaside", "oriental", "airport", "village"); return $items[array_rand($items, 1)]; } ?> |
Затем меняем в коде виджета параметр «landscape=что-то-там» на
landscape=<?php echo yo_get_landscape(); ?> |
С ходу это не заработает, потому что PHP запрещено исполнять в текстовых виджетах. Поэтому идем и ставим плагин Executable PHP widget. Он добавляет тип виджета под названием «PHP Code». И уже в этот виджет вносим все данные.
В итоге у меня получился вот такой код:
<?php function yo_get_landscape() { $items = array("seaside", "oriental", "airport", "village"); return $items[array_rand($items, 1)]; } ?> <div style="width:240px; height:170px;"> <object type="application/x-shockwave-flash" data="http://swf.yowindow.com/yowidget3.swf" width="240" height="170"> <param name="movie" value="http://swf.yowindow.com/yowidget3.swf"/> <param name="allowfullscreen" value="true"/> <param name="wmode" value="opaque"/> <param name="bgcolor" value="#FFFFFF"/> <param name="flashvars" value="landscape=<?php echo yo_get_landscape(); ?>&location_id=gn:498817&location_name=%D0%A1%D0%B0%D0%BD%D0%BA%D1%82-%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3&time_format=24&unit_system=custom&u_temperature=c&u_wind_speed=mps&u_pressure=mm&u_distance=km&u_rain_rate=mm&lang=ru&background=#FFFFFF&mini_locationBar=true&mini_momentBar=false&copyright_bar=false"/> <a href="http://yowindow.com/weatherwidget.php" style="width:240px;height:170px;display: block;text-indent: -50000px;font-size: 0px;background:#DDF url(http://yowindow.com/img/logo.png) no-repeat scroll 50% 50%;">Погодный информер</a> </object> </div> <div style="width: 240px; height: 10px; font-size: 12px; font-family: Arial,Helvetica,sans-serif;"> <span style="float:left;"><a target="_top" href="http://yowindow.com?client=widget&link=copyright" style="color: #2fa900; font-weight:bold; text-decoration:none;" title="Погодный информер" rel="noopener">YoWindow.com</a></span> <span style="float:right; color:#888888;"><a href="http://www.yr.no" style="color: #2fa900; text-decoration:none;">yr.no</a></span> </div> |
UPD: Обновил функцию yo_get_landscape()
. Теперь выбор ландшафта зависит от текущего дня (ресурсы виджета не загружаются заново на каждой странице — этим экономится трафик посетителей сайта).
<?php function yo_get_landscape() { $items = array("seaside", "oriental", "airport", "village"); return $items[date('z') % count($items)]; } ?> |
P.S. Да простят меня разработчики из YoWindow, но ссылки я сделал поменьше.
P.P.S. Теперь виджет от YoWindow вставить ещё проще. Плагин для этих целей по ссылке: YoWindow Widget Plugin.
да да, то что ссылки другие мы прощаем.
Спасибо за пост и тэг «нравится»! :-)
Да не за что! :) Сначала была идея интегрировать с pogoda.yandex.ru, но как-то не срослось.