开发主题时使用了wordpress的缓存函数,如下所示代码,但是在打印缓存时,怎么显示的都是false,经过查找才了解到。
默认情况下,对象缓存是非持久的。这意味着存储在缓存中的数据仅在请求期间驻留在内存中。除非您安装持久缓存插件,否则缓存数据不会在页面加载时持久存储。
就这个意思,想持久就需要找个插件装上。
function get_term_post($term_id) { if($term_id < 1) return false; $term_id = intval($term_id); global $wpdb; $cache_key = "term_post_".$term_id; $post_id = wp_cache_get($cache_key, 'post_term', true); if($post_id === false) { $sql = "select object_id from wp_term_relationships where term_taxonomy_id={$term_id} order by object_id asc limit 0,1"; $post_id = $wpdb->get_var($sql); wp_cache_set($cache_key, $post_id, 'post_term', 86400); } return $post_id; }
上面的代码,获取第一条分类法的文章ID。
评论1