Tuxlog

Tuxlog, aus dem Alltag eines Linux-Fans

wp-forecast – Wie geht das?

Überraschenderweise findet mein kleines Wetter-Plugin für WordPress, wp-forecast reißenden Absatz und so mehren sich auch die Fragen zur Funktionsweise und den Details zum Programm. Im folgenden also eine kleine Beschreibung zu den kleinen Geheimnissen des Plugins.

Allgemeine Funktionsweise

wp-forecast holt sich über die offene Schnittstelle von Accuweather und unter Angabe des ausgewählten Ortes und des Parameters “metrische Einheiten” eine XML – Datei bei Accuweather ab.
Diese Datei wird geparsed, die interessanten Werte herausgefiltert und bis zur Version 0.9.1 als Cookie mit der Lebensdauer, die im Parameter “Cache erneuern nach … Sekunden” angegeben ist auf dem Browser des “Blog-Surfers” abgelegt. Ab der Version 1.0 beta legt wp-forecast die Informationen in der Datenbank ab. Das reduziert die Serverlast bei accuweather und damit auch die Zeit für den Seitenaufbau. Besonders fällt dies bei viel besuchten Websites auf.

Bei jedem Aufruf der Funktion wp-forecast() wird zunächst geprüft, ob noch Informationen als Cookie oder in der Datenbank vorhanden sind. Wenn Nein werden erneut aktuelle Daten von Accuweather bezogen. Im anderen Fall werden die Werte aus dem Cache (Cookie oder Datenbank) verwendet, um sie nach den gesetzten Einstellungen zur Anzeige als Widget aufzubauen und auszugeben. Dabei speichert wp-forecast, die Wetterdaten in der Tabelle wp_options, option_name=wp-forecast-cacheX, das X steht für die jeweilige Widget-ID, also z.B. A, B, etc.

Wo stehen die Nutzungsbedingungen von accuweather?

Accuweather bietet den kostenlosen Service NetWeather an. Dort kann man sich sein eigenes Layout für Wetterdaten erstellen und dann in die eigenen Website einfügen. Im dritten Schritt findet man dort auch die jeweils aktuellen Nutzungsbedingungen. Die Einstiegs-URL ist: http://netweather.accuweather.com/?partner=forecastfox Direkt zu den Nutzungsbedingungen kommt man mit http://www.accuweather.com/termsofusage.asp?partner=forecastfox

Wo kommt die Zeit her?

Die Uhrzeit, die durch wp-forecast angezeigt wird kommt von Accuweather und repräsentiert den Zeitpunkt zu dem die Daten bei Accuweather zuletzt aktualisiert wurden. Da die Daten erst dann erneuert werden, wenn das Cookie abgelaufen ist kann es sein, dass sich diese Uhrzeit eine ganze Weile nicht verändert. Stellt man beispielsweise als “Cache erneuern nach … Sekunden” den Wert 3600 ein, so werden die Daten nur einmal pro Stunde aktualisiert.

Wie rechnet man die Windgeschwindigkeit um?

wp-forecast bietet vier verschiedene Einheiten zur Anzeige der Windgeschwindigkeit (Meter pro Sekunde, Kilometer pro Stunde, Meilen pro Stunde und Knoten). Accuweather liefert je nach dem, ob metrische oder amerikanische Einheiten eingestellt sind, die Windgeschwindigkeit in Meter pro Sekunde oder Meilen pro Stunde.
wp-forecast verwendet Meter pro Sekunde als Basisangabe, daher wird der Wert falls er in Meilen pro Stunde vorliegt, als erstes in Meter pro Sekunde umgerechnet und auf die nächste ganze Zahl gerundet. Die Formel dazu ist round($wspeed * 0.44704,0);

Ausgehend von diesem Wert werden dann die anderen Einheiten umgerechnet. Dies geschieht mittels folgender Formeln (ms steht für die Windgeschwindigkeit in Meter pro Sekunde):

Umrechnung im Kilometer pro Stunde (km/h) ms * 3.6
Umrechnung in Meilen pro Stunde (mph) ms *2.23694
Umrechnung in Knoten (kts) ms*1.9438

Wo gibts noch mehr zu wp-forecast?

Einige der wp-forecast Anwender haben Artikel oder Postings zu wp-forecast verfasst.
Hier eine Liste mir bekannter Links:

Gibt es eine Stand-Alone Version des Plugins, die man ohne WordPress einsetzen kann?

Accuweather bietet den kostenlosen Service NetWeather an. Dort kann man sich sein eigenes Layout für Wetterdaten erstellen und dann in die eigenen Website einfügen. Eine Version dieses Plugins, die ohne WordPress eingesetzt werden kann, ist aktuell nicht geplant.

Woran liegt es, wenn die Widgets nur in Englisch angezeigt werden (WordPress 2.3.x)?

Es gibt einen Bug unter WordPress 2.3.x in der gettext.php auf x64 Plattformen. Eine Lösung findet man unter http://www.bluehostforum.com/showthread.php?p=46768

Funktioniert wp-forecast bei Provider X?

WordPress testet verschiedene Wege, um Daten dynamisch zum Blog hinzu zu laden. Wenn mindestens eine der folgenden Funktionen in der phpino aktiviert ist, dann sollte es möglich sein, Daten von anderen Servern zu laden:

  • fsockopen: prüfbar über die Ausgabe von phpinfo();, wenn fsockopen nicht in der Liste ist, die hinter disable_functions steht, dann sollte es klappen
  • fopen: prüfbar über die Ausgabe von phpinfo();, wenn allow_url_fopen auf Ja / Yes steht, dann sollte diese Variante funktionieren
  • http_request: benötigt die PECL http Extension, prüfbar über die Ausgabe von phpinfo();, suche nach HttpRequest
  • curl: benötigt die curl Extension, prüfbar in der Ausgabe von phpinfo();, suche nach Abschnitt CURL

Generell kann man festhalten, wenn eine der vier Methoden aktiv ist, funktionieren auch die Feeds im Dashboard und dann sollte auch wp-forecast funktionieren.

funpic.de - Stand:06.02.09 kann wp-forecast leider nicht beim provider funpic.de eingesetzt werden. funpic hat alle PHP-Funktionen, die man nutzen könnte um die Wetterdaten bei accuweather abzuholen deaktiviert. Dies gilt auch für die Feeds im Dashboard.

Confixx basierte Provider- Stand:28.02.09 Mr.Quick hat herausgefunden, dass es bei Confixx basierten Servern an einigen Einstellungen liegen kann, das wp-forecast nicht funktioniert. Details dazu findet ihr da: http://forum.wordpress-deutschland.org/plugins-und-widgets/46133-installationsproblem-mit-wp-forecast-3.html. Es handelt sich dabei um folgende Einstellungen die man unter httpd spezial ändern kann:

  • allow_call_time_pass_reference / ON
  • allow_url_fopen / ON
  • memory_limit 32M

1und1- Stand:04.01.10 kam es bisher zu Problemen bei der Anzeige der Widgetseite unter PHP4 bei 1und1. Mit folgender Konfiguration sind diese Probleme verschwunden: wordpress 2.9, wp-forecast 2.6 und am wichtigsten in der .htaccess bei 1und1 auf PHP5 umstellen.
Nach Aussage von Anwendern wird dies durch hinzufügen von

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

zur .htaccess erreicht.

Checkliste für die Datenübertragung Unter http://www.tuxlog.de/uncategorized/2009/checkliste-fur-wp-forecast-checklist-for-wp-worecast/ findet ihr eine Checkliste zum prüfen der Datenübertragung mit/ von accuweather in deutsch und in englisch.

Kann man den Wetterdienst snow-forecast in wp-forecast integrieren? Stand November 2010 ist das leider nicht möglich. snow-forecast bietet nur den HTML Forecast zum Einbinden auf speziellen, vereinbarten Websites. Der XML Feed ist auf 5 Orte und feste Domains beschränkt.

Weitere Fragen oder Hinweise? Gerne.

 

Artikel, die auch interessant sein könnten:

Diesen Artikel mit anderen teilen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Print
  • email
  • Technorati
  • del.icio.us
  • MisterWong
  • Linkarena
  • Alltagz
  • Blogosphere News
  • Google Bookmarks
  • YahooMyWeb
  • Y!GG
  • Bloglines
  • TwitThis
  • Webnews
  • Digg
  • Wikio DE
  • Oneview
  • Facebook
  • XING

6. Juni 2007 Geschrieben von | wordpress | 40 Kommentare | Trackback URI

40 Kommentare zu wp-forecast – Wie geht das?

  1. 20

    Hallo tuxlog,

    habe heute das neue WordPress 2.8 installiert und dein Wetterplugin dazu. Bis jetzt habe ich es leider nicht zum laufen gebracht.
    Feeds im dashboard kommen. Ausser httpRequest sind die drei anderen Möglichkeiten laut phpinfo aktiv.
    Dein Testscript kam aber über die Ausgabe von “Teste Verbindungsaufbau zu accuweather” nicht weiter.
    Ist es vll möglich das an der 2.8er etwas anders läuft?
    Danke und Gruß
    Frika


    • 20.1

      hallo Frika,
      das würde meine vermutung in #295 im wp-forecast posting bestätigen. bei dir liegt es auf jeden fall am abholen der daten von accuweather. ich grab mich mal in den neuen wordpress code.

       

  2. 19

    WP-forecast ist das beste Wetterplugin. Ich habe es jetzt seit einem Jahr im Einsatz!

    Danke und Gruß
    Joachim


  3. 18
    schrieb Gernot Riebold:

    Hallo,

    vielen Dank für das tolle Plugin,

    leider habe ich auch das identische Problem von Anja Simon (Kommentar 13). Ich habe einen Serverumzug hinter mir. Mit PHP4 hat es funktioniert, jetzt mit PHP5 nicht mehr.

    Wäre super, wenn ich Du irgendeine Idee hast.

    Danke und Grüsse
    Gernot


    • 18.1

      hallo gernot,
      wenn du auch bei funpic bist, kann ich momentan leider nicht helfen (s.o.). wenn nicht wären einige details hilfreich. am besten du arbeitest mal die checkliste durch.

      danke
      hans

       

  4. 17

    Hallo,

    2 kurze Fragen:

    1: Als Sprache habe ich Deutsch eingestellt. Das Plugin wird aber automatisch mit der Überschrift “Weather” angezeigt. Wie werde ich die los oder kann diese ersetzen ?

    2: Ich kann das Widget nur rechts oder links in die Sidebars einsetzen. Aber dann wird es ja auf allen Seiten angezeigt. Wie kann ich es nur auf einer bestimmten page anzeigen ?

    Danke und Grüsse aus Moskau


    • 17.1

      hallo Tigger,

      zu 1.: siehe unter punkt 5.1 der referenz im widgetdialog kannst du für jedes widget unter wordpress einen frei definierbaren titel eingeben.
      zu 2.: siehe unter punkt 5.3 der referenz
      wenn du nicht klar kommst melde dich einfach nochmal

      gruß
      hans

       

  5. 16
    schrieb Anja Simon:

    Ich bins wieder,

    sry, wenn ich euch nerve, aber ich hab nochmal was anderes ausprobiert: Theme gewechselt (weil ich dachte, es liegt vielleicht an dem selbstgebastelten Theme mit Artisteer) da es mir immer den ganzen Blog verschoben hat, wenn ich das Plugin aktiviert habe und eine andere Version von wp-forecast ausprobiert (2.2).
    Nix hat funktioniert…..
    Bin verzweifelt…

    Anni


    • 16.1

      hallo Anni,

      also erstmal habe ich chemnitz bei geprüft, um auszuschliessen, das der ort aus welchen gründen auch immer nicht über accuweather verfügbar ist. das klappt schon mal. geht denn bei dir das dashboard? soll heißen kannst du die ganzen feeds lesen, wenn ja sollte auch die datenübertragung von accuweather kein thema sein, denn beide verwenden den gleichen wordpress code. wenn nein, empfehle ich erstmal wordpress vollständig zum laufen zu bringen. bei fu.npic gabs wohl immer wieder mal probleme, habe aber auch positive berichte googlen können. wenn ich es richtig verstehe, dann harperts bei dir bereits bei der auswahl des ortes im admin dialog. ich habe aber noch nicht verstanden, wie es dann dein layout verschiebt, wenn du den ort gar nicht ausgewählt bekommst. kannst mir die details auch gerne per pm schicken.

       

  6. 15

    Hey,

    also ich hoffe nicht, dass das wg funpic ist, dann überlege ich wirklich zu wechseln, weil einige andere plugins (flickr,Akismet) auch nicht funktionieren. Also ich möchte gerne Chemnitz als Ort angeben, aber wenn ich den Ort suchen lasse erscheint folgendes: “XML Fehler: Invalid document end in Zeile 1″.
    *buhuu

    Anni

    PS: Wenn es wirklich an funpic liegt, kennt jemand einen kostenlosen Webhoster, der alle Plugins zulässt bzw. zumindest die wichtigsetn funktionieren??


  7. 14

    Könnte ein Problem mit funpic sein. Ich habe es gerade mal auf einem funpic-Testaccount installiert, funktioniert auch nicht, mit Standard-Ort Frankfurt.


  8. 13

    Hallo,

    ich hab ein Problem mit dem Plugin, bei mir werden keine Wetterdaten angezeigt (Aktuell liegen keine gültigen Wetterinformationen vor.

    Bitte versuchen Sie es später nochmal.) –> forecast findet auch den gewünschten Ort nicht und die Blog Site zeigt sich vergrößert, so dass der Hintergrund überdeckt wird. Ich hab leider keine Ahnung wie ich das Problem beheben kann, hab ich was übersehen?? Ich benutze WordPress 2.7, Theme erstellt mit Artisteer Home Edition, wp-forecast Version 2.3.

    Need Help, Please!

    Vielen Dank schon mal im voraus,

    Grüße

    Anni


    • 13.1

      hallo Anni,

      welchen Ort möchtest du denn eintragen, dann teste ich das mal bei mir?
      wenn wir erst den richtigen ort haben, sollten auch wetterdaten kommen.

      gruß
      hans

       

  9. 12

    bei Andrea war eine ungültige location eingestellt, jetzt gehts. :-)
    allerdings wird die fehlersituation nicht richtig von wp-forecast erkannt und so erhält man anstatt eines fehlerhinweises eine quasi leere ausgabe. ich werde versuchen den fehler in der nächsten version abzufangen und eine fehlermeldung auszugeben.


  10. 11

    Hallo, habe mir auch euer tolles Widget zugelegt.

    Leider bekomme ich bis auf die Uhrzeit keine Daten von AccuWeather.com. Ich benutze WordPress2.7 und wp-forecast 2.2. Den Code habe ich ganz normal in meine Sidebar eingebettet. Keine Ahnung wo der Fehler liegt. : / Könnt ihr bitte helfen?

    Danke schonmal.
    Grüße
    Andrea


Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

:bye: 
:good: 
:negative: 
:scratch: 
:wacko: 
:yahoo: 
B-) 
mehr...