缓存和cronjob之间的一个很好的中间方法是使用transients
您可以编写一个小函数来处理瞬态的设置和获取。
$posts = get_transient( \'recent_posts\' );
if ( false == $posts ) :
$posts = new WP_Query( array (
\'orderby\' => \'rand\',
\'fields\' => \'ids\'
));
set_transient( \'recent_posts\', $posts, 60*60*12 );
endif;
return $posts;
在瞬态中,您将之前调用的帖子的ID存储在WP\\U查询中。然后设置一周的瞬态到期时间,函数只检查是否已经存在瞬态。如果没有,请使用随机贴子ID创建一个瞬态。
代码没有经过测试,它只是一个如何使用它的示例。让我知道进展如何!