API响应将存储在本地

时间:2021-08-17 作者:Antonio

是否可以重构代码,使API响应在本地存储一天,而不是每次加载页面时都从API检索数据?

<?php
// Assume "$list_api->get_items()" connects to an API.
$list_items = $list_api->get_items();

if(!empty($list_items)) {
    foreach($list_items as $list_item) {
?>
    <div class="item-container">
        <h2><?php echo $list_item[\'title\']; ?></h2>
        <p><?php echo $list_item[\'paragraph\']; ?></p>
    </div>
<?php
    }
}
?>

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

当然,你可以把它暂时保存一天。

<?php
$list_items = get_transient( \'my_list_items\' );
if ( false === $list_items ) {
    // Assume "$list_api->get_items()" connects to an API.
    $list_items = $list_api->get_items();
    set_transient( \'my_list_items\', $list_items, DAY_IN_SECONDS );
}

if(!empty($list_items)) {
    foreach($list_items as $list_item) {
?>
    <div class="item-container">
        <h2><?php echo $list_item[\'title\']; ?></h2>
        <p><?php echo $list_item[\'paragraph\']; ?></p>
    </div>
<?php
    }
}
?>
参考文献get_transient()
  • set_transient()