Я создал плагин, который загружает 30 случайно сгенерированных имен + картинок, используя API от uinames.com. Плагин работает отлично и отображает, что он должен.Вот так:

Но каждые несколько раз, когда я обновляюсь, я получаю следующее:
Warning
: file_get_contents(https://uinames.com/api/?amount=30®ion=Netherlands&ext): failed to open stream: HTTP request failed! HTTP/1.1 508 Loop Detected in
C:\xampp\htdocs\wordpress\wp-content\themes\twentynineteen\functions.php
Теперь я долженЧтобы решить эту проблему с помощью кэширования, я следовал нескольким учебникам, но не совсем понял
Мой код:
class PHP_Widget_wpse_12345 extends WP_Widget {
function __construct() {
$opts = array(
'description' => 'Display catfish'
);
parent::WP_Widget(
'test',
'catfish list',
$opts
);
}
function widget($args,$instance) {
$persons = json_decode(file_get_contents('https://uinames.com/api/?amount=30®ion=Netherlands&ext'));
$widget_content = "";
foreach($persons as $person) {
$widget_content .= $person->name . ' ' . $person->surname . "<br>" . "<br/> <img src='$person->photo'> <br/>";
}
echo $widget_content;
}
}
function register_my_widgets() {
register_widget('PHP_Widget_wpse_12345');
}
add_action('widgets_init','register_my_widgets');
Любая помощь приветствуется!