听起来你真正想要的可能是暂时的。WP瞬态是一种缓存查询结果并在该缓存上设置过期日期的方法。
因此,您可以将上面示例的结果缓存24小时。如果有人在缓存仍然有效的情况下请求该数据,它只会返回结果,而不会重新计算。
如果有人在您的缓存期限到期后请求数据,请再次进行计算,并将结果再缓存24小时。
示例:
if ( false === ( $special_query_results = get_transient( \'special_query_results\' ) ) ) {
// It wasn\'t there, so regenerate the data and save the transient
$a = the_field(\'test1\');
$b = the_field(\'test2\');
$c = the_field(\'test3\');
$d = the_field(\'test4\');
$special_query_results = $a * $b * $c * $d;
set_transient( \'special_query_results\', $special_query_results, 24 * HOUR_IN_SECONDS );
}
// Use $special_query_results as needed from here
有关的更多信息
WordPress TransientsUPDATE
根据您的进一步信息,您可能实际上需要一个CRON,下面是一个示例:
if ( ! wp_next_scheduled( \'update_acf\' ) ) {
wp_schedule_event( time(), \'daily\', \'update_acf\' );
}
add_action( \'update_acf\', \'update_my_acf_field\' );
function update_my_acf_field() {
// This is where you will do the logic that needs to be performed on a daily CRON
}