<?php
function apiCall($url) {
$data = null;
// New prices uploaded
if (get_transient("newPricesUploaded")) {
// Get all cached API urls and delete them
if (false !== ($transients = get_transient("apiCallTransients"))) {
foreach ($transients as $transient) {
delete_transient($transient);
}
delete_transient("apiCallTransients");
}
// Reset
set_transient("newPricesUploaded", 0, YEAR_IN_SECONDS);
}
if (false === ($data = get_transient(md5($url)))) {
$data = file_get_contents($url);
// Cache the request
set_transient(md5($url), $data, 10800);
// Update the apiCallTransients reference
if (false !== ($transients = get_transient("apiCallTransients"))) {
$transients[] = md5($url);
} else {
$transients = array(md5($url));
}
set_transient("apiCallTransients", $transients, YEAR_IN_SECONDS);
}
return $data;
}
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
preferences:
282.2 ms | 406 KiB | 460 Q