Go to Top

WordPressで天気予報を表示してみる

2014/1/17| Category:

今回は、Wordpress(PHP)で天気予報を取得・表示する方法を紹介します。
Livedoor Weather Hacksでは取得できない降水確率も取得することができます。

STEP 1-1

まずは、天気を取得したい都道府県のxmlを以下のリンクから探しましょう。
気象庁の天気予報情報を XML で配信

今回は、一番上のJapan Weather Forecast xml (日本お天気予報)の配信リストから探して下さい。

STEP 1-2

次は、より細かい地域に絞っていきましょう。

先ほどのxmlを見てみると、中に下記のようなarea要素がいくつかあると思います。そのarea要素の中で取得したい地域のarea要素は何番目に来ているのか数えて下さい。

<area id="地域名">...</area>

その数から1を引いた数と、xmlのurlが天気を取得する上で必要となります。

STEP 2-1

準備が終わったら、コードを編集していきましょう。

まずは、以下をfunction.phpに記述してください。尚、ハイライト表示してあるxmlのurlや、地域の番号(先ほどの)は自分で編集して下さい。
※例を挙げると、埼玉南部の今日の天気はそれぞれhttp://www.drk7.jp/weather/xml/11.xml、1、0となります。

function GetWeather() {
    $tmp_url = "xmlのurl";
    $tmp_xml = simplexml_load_file($tmp_url);
    $xml = $tmp_xml->pref->area[地域番号]->info[何日後の天気を取得するか];

    $title = $xml->weather;                          // 天気
    $detail = $xml->weather_detail;                  // 詳細
    $wave = $xml->wave;                              // 波
    $temperature_max = $xml->temperature->range[0];  // 最高気温
    $temperature_min = $xml->temperature->range[1];  // 最低気温
    $rain_00_06 = $xml->rainfallchance->period[0];   // 0~6時の降水確率
    $rain_06_12 = $xml->rainfallchance->period[1];   // 6~12時の降水確率
    $rain_12_18 = $xml->rainfallchance->period[2];   // 12~18時の降水確率
    $rain_18_24 = $xml->rainfallchance->period[3];   // 18~24時の降水確率

    print "出力内容";
}
STEP 2-2

次に、表示内容を決めましょう。

先ほどのコードに登場した以下の部分を編集していきます。

print "出力内容";

天気や最高気温等を表示したい場合は、以下を参考に変数を記述して下さい。又、それらに加えて文字やhtmlタグを組み合わせても構いません。ただし、htmlタグ等で“や\のような特殊文字を使う場合には、その文字の手前に\を入力する必要があるので注意して下さい。

    $title            // 天気
    $detail           // 詳細
    $wave             // 波
    $temperature_max  // 最高気温
    $temperature_min  // 最低気温
    $rain_00_06       // 0~6時の降水確率
    $rain_06_12       // 6~12時の降水確率
    $rain_12_18       // 12~18時の降水確率
    $rain_18_24       // 18~24時の降水確率
    print "$title";        // 天気のみ
    print "天気: $title";  // 文字を組み合わせてもOK
STEP 3

最後に、数値を表示したい場所に以下を記述してください。

<?php GetWeather(); ?>
Pocket