如何在Wordpress中集成Weather API

时间:2018-08-18 06:18:56

标签: wordpress

请有人帮助我如何在json formate中将如何在WordPress api中集成api

https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22

我正在使用此代码,但无法显示温度

 <?php 

 $url = 'https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22';

$response = wp_remote_get( $url  );
if( is_array($response) ) {
  $header = $response['headers']; // array of http header lines
  $body = $response['body']; // use the content

  print_r(($body));

}
 ?>

1 个答案:

答案 0 :(得分:0)

阿布,

  1. 将代码放在wordpress中有用的位置,以便您可以使用wp_remote_get
  2. 了解响应的结构(只需将url放入firefox地址栏中,即可获得JSON结构
  3. 理解您接收到JSON,并对其进行解码http://php.net/manual/en/function.json-decode.php
  4. 在结构中查找温度,并按照以下代码示例使用该温度。看到数字时有点发呆,但是...
  5. 阅读API常见问题解答https://openweathermap.desk.com/customer/en/portal/articles/1996493-switching-between-temperature-units,了解电话号码以开尔文为单位

我将留给您研究如何在摄氏或华氏温度下请求温度

function show_temp() {

 $url = 'https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22';

$response = wp_remote_get( $url  );
if( is_array($response) ) {
  $header = $response['headers']; // array of http header lines
  $body = $response['body']; // use the content
  $resp = json_decode($body);
  echo 'The temp in Kelvin is: '.$resp->main->temp;
  echo '<pre>'.print_r($resp, true).'</pre>';
}
}

add_shortcode ('show_temp', 'show_temp');