在我看来,更好的方法是使用瞬态。这样,我们就不会在每次刷新页面时查询数据库中的每种帖子类型。
简单挂钩即可:
add_action( \'wp_insert_post\', \'wpse94916_set_new_flag\', 10, 3 );
function wpse94916_set_new_flag( $post_id, $post, $update ) {
if ( $update ) {
return;
}
set_transient( \'is_new_\' . $post->post_type, true, WEEK_IN_SECONDS );
}
这将在每次新的post保存时设置/更新瞬态。然后要使用它,只需添加一个简单的检查:
$post_type = \'post_type\';
$class = get_transient( \'is_new_\' . $post_type ) ? \'new!\' : \'\';