如何在WordPress中自动调用REST-API

ttcibm8c  于 2023-05-16  发布在  WordPress
关注(0)|答案(2)|浏览(251)

我使用wp-get API插件来调用一个开放的rest-api,该api返回的数据是不断变化的,我还想显示实时数据,而无需调用api或重新加载页面。

<div class="box"  id="heart">
  <div class="glass"></div>
    <div class="content">
      <h1><?php
              $data = wpgetapi_endpoint( 'yahoo', 'yahoo', array('debug' => false) );
              $result = intval($data["tabsOpened"]/15);
              echo $result;
            ?> 
        </h1> 
        <p>Food Plates Donated</p>  
     <h1><?php
              $data = wpgetapi_endpoint( 'yahoo', 'yahoo', array('debug' => false) );
              $result = intval($data["tabsOpened"]);
              echo $result;
            ?> 
        </h1> 
        <p>Tabs Opened</p>  
  </div>
</div>

我在显示心脏中的数据,我想像计数器一样更新值。我怎样才能做到呢?

ogsagwnx

ogsagwnx1#

要在WordPress中自动调用REST API,可以使用wp_remote_get函数。此函数允许您向远程API端点发送HTTP GET请求并检索响应。
下面是一个示例代码片段,演示了如何使用wp_remote_get调用REST API:

$url = 'https://example.com/api/endpoint';
$response = wp_remote_get( $url );
    
if ( is_wp_error( $response ) ) {
   // handle Error 
} else {
  $body = wp_remote_retrieve_body( $response );
  // do something with the API response
}

在这里你可以找到一个解释如何使用jquery每隔x秒/分钟调用一个API

setInterval(function()
{ 
    $.ajax({
      type:"post",
      url:"yourapicall",

      success:function(data)
      {
          //do something with response data
      }
    });
}, 10000);//time in milliseconds

https://stackoverflow.com/a/5687625/2663707

zaq34kh6

zaq34kh62#

由于API的数据在变化,所以肯定要设置一些Webbook。否则,你必须一次又一次地调用API,这绝对不是一个好的做法。解决方案是Webhook
此外,为了更新数据而不重新加载页面,您还必须设置** AJAX
使用
AJAX Webhook**,您将获得所需的结果。

相关问题