更新瞬态而不是在wordpress中插入新瞬态

时间:2017-02-23 09:54:32

标签: wordpress

如何在wordpress中更新瞬态而不是插入新瞬态?

因为到期后必须清除瞬态。

1 个答案:

答案 0 :(得分:0)

这需要以瞬态值保存结束日期。

示例:

//on create
$expiration = 60*60*12;
$time_to_end = time() + $expiration;
set_transient( 
  'transient_name', 
  array('value'=>'some_data', 'end_time'=>$time_to_end), 
  $expiration 
);

//for update
$previous = get_transient( 'transient_name');
$expiration = $previous['end_time'] -  time();
if ( $expiration > 0 ){
set_transient( 
  'transient_name', 
  array('value'=>'some_new_data', 'end_time'=>$previous['end_time'] ),
  $expiration
);
}