WordPress瞬变不使用瞬变

时间:2020-08-26 作者:loliki

我对瞬变现象还不熟悉,但我想我了解它背后的逻辑。

所以我有一个博客,我通过API从我的另一个博客中获取帖子。

现在我想暂时保存数据,这样就不会每次访问页面时都发出请求。

这是我的代码:

if (false === ($posts === get_transient(\'posts_array\'))) {

    $response = wp_remote_get( \'https://website.com/blog/wp-json/wp/v2/posts?per_page=5&_embed\' );
    // Exit if error.
    if ( is_wp_error( $response ) ) {
        return;
    }
        
    $posts[] = json_decode( wp_remote_retrieve_body( $response ) );

    set_transient(\'posts_array\', $posts, DAY_IN_SECONDS);
}
现在由于某种原因,我的WordPress没有得到瞬态,它似乎总是向API发出请求,以获得$posts 我应该找个地方吗$posts 具有get_transient 是否存在?

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

我的意思是,很快你的代码在第一行就错了,比较是错误的。变量$post 应存储= 请求的数据通过get_transient() 而不是比较===.

因此,您应该切换到:

if ( false === ( $posts = get_transient(\'posts_array\') ) ) {
    // this code runs when there is no valid transient set
}

相关推荐

Clear Transients

我已经为我的一个客户构建了一个自定义主题,我正在使用瞬态,以使站点运行更快。一周后,我在wp\\U选项中看到了大量瞬态记录(约360000条记录)。这使我怀疑瞬态不会从数据库中删除。如何删除该记录,以及如何删除?有什么好的教程吗?亲切的问候