Как автоматически вызвать rest-api в wordpress

Я использую плагин 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>

я показываю данные в сердце, я хочу обновить значения, как счетчик. как я могу добиться этого.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
73
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Для автоматического вызова REST API в WordPress вы можете использовать функцию wp_remote_get. Эта функция позволяет отправить HTTP-запрос GET на удаленную конечную точку API и получить ответ.

Вот пример фрагмента кода, который демонстрирует, как использовать 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
}

Здесь вы можете найти объяснение того, как вы вызываете API каждые x секунд/минут с помощью jquery.

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

да, но постоянно вызывать API таким образом — не очень хорошая практика. Хорошим решением является использование Webhook. Таким образом, когда данные изменяются, он автоматически срабатывает и отправляет запрос в приложение.

Developer 08.05.2023 21:01

Поскольку данные API меняются, вам обязательно нужно настроить какую-нибудь веб-книгу. В противном случае вам придется вызывать API снова и снова, что определенно не является хорошей практикой. Решение — вебхук.

Также для обновления данных без перезагрузки страницы вам также необходимо настроить AJAX.

С AJAX и Webhook вы добьетесь желаемых результатов.

как настроить вебхук.

Prince Bhati 08.05.2023 21:25

какой апи ты используешь?? Можете ли вы сказать имя?

Developer 08.05.2023 21:30

я использую этот API tab.pledgeasmile.com/backend/api/tabsInfo/global

Prince Bhati 08.05.2023 21:32

@PrinceBhati Я не знаю, что это за API. Обычно API предоставляет настройку веб-перехватчика. Итак, вам просто нужно указать URL-адрес приложения, и API активирует его. Итак, дело в API. Вы можете создать только конечную точку в wordpress, которая будет получать данные. Итак, вы должны посмотреть документацию по API. Но если у них нет такой настройки, просто используйте ajax и setInterval в своем javascript, чтобы получить данные и обновить свою страницу.

Developer 08.05.2023 21:38

Другие вопросы по теме