• News
  •  
  • Tools
  •  
  • Bücher
  •  
  • Fotos
  •  
  • Impressum
  •  
  • Be social!
  • RSS
  • FaceBook
  • Google Buzz
  • Mister Wong
  • Delicious
  • Xing
  •  
 

Wie wird das Wetter?

WordPress

WordPress

Diese Frage in Deinem Blog zu beantworten ist eigentlich ganz einfach.
Du brauchst dazu die API von Google und ein wenig PHP.
Aber lies mal weiter, dann siehst Du wie es funktioniert.

Zuerst brauchst Du wie immer die Datei functions.php. Falls sie in Deinem aktiven Thema nicht existiert, kannst Du sie einfach anlegen. Schreib nur in die erste Zeile <?php und in die letzte Zeile ?>. Dann fügst Du folgende Funktion ein. Dies ermittelt das aktuelle Wetter und das der kommenden 4 Tage. Zusätzlich bindet es einen ShortCode ein, damit die Abfrage leichter in WordPress angezeigt werden kann.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//Google Weather
function guru20_SC_Wetter($atts) {
  //Attribute ermitteln
  extract(shortcode_atts(array("adresse" => 'Salzburg+Austria', "language"=>"de"), $atts));
  $adresse = str_replace(" ", "+", $adresse);
  //API von Google abfragen
  $xmlData = simplexml_load_string(utf8_encode(file_get_contents("http://www.google.com/ig/api?weather=".$adresse."&hl=".$language)));
  //Wetter-Daten zusammenstellen
  $wetter = array();
  //allgemeine Infos
  $wetter['stadt'] = $xmlData->weather->forecast_information->city->attributes()->data;
  $wetter['datum'] = $xmlData->weather->forecast_information->forecast_date->attributes()->data;
  $wetter['zeit'] = $xmlData->weather->forecast_information->current_date_time->attributes()->data;
  //aktuelles Wetter
  $wetter[0]['zustand'] = $xmlData->weather->current_conditions->condition->attributes()->data;
  $wetter[0]['temperatur'] = $xmlData->weather->current_conditions->temp_c->attributes()->data;
  $wetter[0]['luftfeuchte'] = $xmlData->weather->current_conditions->humidity->attributes()->data;
  $wetter[0]['wind'] = $xmlData->weather->current_conditions->wind_condition->attributes()->data;
  $wetter[0]['icon'] = 'http://www.google.com'.$xmlData->weather->current_conditions->icon->attributes()->data;
  //Vorhersage
  $i = 1;
  foreach($xmlData->weather->forecast_conditions as $weather) {
	$wetter[$i]['wochentag'] = $weather->day_of_week->attributes()->data;
	$wetter[$i]['zustand'] = $weather->condition->attributes()->data;
	$wetter[$i]['tiefsttemperatur'] = $weather->low->attributes()->data;
	$wetter[$i]['hoechsttemperatur'] = $weather->high->attributes()->data;
	$wetter[$i]['icon'] = 'http://www.google.com'.$weather->icon->attributes()->data;
	$i++;
  }
  //aktuelles Wetter
  $rVal= "Das aktuelle Wetter in ".$wetter['stadt'].":<br />\n".
         $wetter['zeit']."<br />\n".
         $wetter[0]['zustand']."<br />\n".
         "Temparatur: ".$wetter[0]['temperatur']."&deg;C<br />\n".
         "Luftfeuchtigkeit: ".$wetter[0]['luftfeuchte']."&deg;C<br />\n".
         "Wind: ".$wetter[0]['wind']."&deg;C<br />\n".
         "<img src=\"".$wetter[0]['icon']."\" alt=\"".$wetter[0]['zustand']."\" /><br />\nVorhersage:<br />\n";         
  //Vorhersage
  for($i=1; $i < = 4; $i++) {
    $rVal.= $wetter[$i]['wochentag']."<br/>\n".
            $wetter[$i]['zustand']."<br />\n".
            "min. ".$wetter[$i]['tiefsttemperatur']."&deg;C | max. ".$wetter[$i]['hoechsttemperatur']."&deg;C<br />\n".
            "<img src=\"".$wetter[$i]['icon']."\" alt=\"".$wetter[$i]['zustand']."\" /><br />\n";
  }
  //Wetter zurueckgeben
  return $rVal;
}
//Hook fuer ShortCode verwenden
add_shortcode('wetter', 'guru20_SC_Wetter');

Das ganze sieht dann so aus (Natürlich nur wenn Du denn ShortCode wetter eingefügt hast).

Das aktuelle Wetter in Salzburg, Salzburg:
1970-01-01 00:00:00 +0000
Bewölkt
Temparatur: 11°C
Luftfeuchtigkeit: Luftfeuchtigkeit: 47 %°C
Wind: Wind: N mit 6 km/h°C
Bewölkt
Vorhersage:
Do.
Vereinzelt Regen
min. 4°C | max. 14°C
Vereinzelt Regen
Fr.
Meist sonnig
min. 6°C | max. 21°C
Meist sonnig
Sa.
Klar
min. 9°C | max. 25°C
Klar
So.
Meist sonnig
min. 14°C | max. 27°C
Meist sonnig

 

Weitere Posts zu diesem Thema

 

Der Guru 2.0 Blog lebt von Deinem Kommentar

Es existieren zwei Antworten zu diesem Post

inselfan
schrieb am 9. 5. 2011 um etwa 21 Uhr:
hallo! wetter ohne plugin, das ist echt klasse. da hat sich aber ein kleiner fehler eingeschlichen der aber erstmal alles zum absturz bringt... falsch: for($i=1; $i < = 4; $i++) { korrekt: for($i=1; $i <= 4; $i++) { danke!
inselfan
schrieb am 9. 5. 2011 um etwa 22 Uhr:
nachtrag: da stimmt so einiges nicht mit hochkommas etc und es läuft nur mit allow_url_fopen = On. geht das auch ohne, weil das ist ja ein erhöhtes sicherheitsrisiko?

Deine Meinung ist dem Guru 2.0 wichtig





XHTML - Du kannst diese Tags benutzen:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 
  • Werbung

  •  
  • Diesen Post empfehlen


     

     

     

     

     
    Stumbleupon
     
    Wikio
  •  
  • Das war eine Hilfe?

  •  
  • Du brauchst Papier?

  •