Источник ваших данных может уже содержать кэшированные данные или с задержкой предоставлять внутреннюю информацию API для обработки. Данные ваших временных объектов имеют ограниченный срок кэширования, также при отображении HTML может быть задействован механизм кэширования. В браузере пользователя тоже используется кэширование и может быть даже прокси-кэширование сетевого уровня. Это означает, что существует множество факторов, которые могут повлиять на передачу данных с внешнего источника до браузера посетителя. Эти факторы могут оказаться очень значительными и часто раздражающими при разработке и тестировании интеграции, но они также влияют на период времени, который вы выбираете для хранения временных объектов.
Так что же такое определенный период времени? Каждый раз по-разному, заявил Сомов, которого интересует оценка эффективности рекламы в интернете. Он зависит от ваших данных, от вашей терпимости к устаревшим данным или требований к актуальности информации, а также от нагрузки на ваш сайт. В предыдущем разделе, когда вы не хотели обращаться к API при каждой загрузке страницы, данные были самими свежими, но само действие накладывало ограничение на время загрузки вашей темы, а также создавало нагрузку на доступ к API-серверу. Временные объекты разработаны для того, чтобы снизить влияние или полностью снять оба заявленных условия. Как разработчик вы должны задавать время истечения срока так, чтобы, с одной стороны, снижать нагрузку на доступ к службе третьей стороны, а с другой — соответствовать ожиданиям на получение новых данных. Вашей целью является вычисление самого длительного периода времени, в течение которого устаревшая или старая информация не будет приводить к получению негативного опыта пользователя. Если говорить человеческим языком, то вам необходимо решить, как сделать ваши данные всегда актуальными, чтобы это не приводило к ошибкам пользователей, обусловленным устаревшими данными. Воспользуйтесь тем же примером, что и в предыдущем разделе, но добавьте временные объекты для локального кэширования информации. Вы должны внести изменения, включающие хранение временных объектов, в файл Functions. php. В первую очередь необходимо проверить, есть ли у вас данные с неистекшим сроком. Если ваши временные объекты не существуют или срок их хранения истек, функция Get_transient() вернет False.