cacheGroup, $expire); } /** * Gets a value from the cache. * * @param string $key Cache key. * @param mixed $default Default value if not found. * * @return mixed */ public function getCache($key, $default = null) { $value = wp_cache_get($key, $this->cacheGroup); return ($value === false) ? $default : $value; } /** * Checks if a cache key is set. * * @param string $key Cache key. * * @return bool */ public function isCacheSet($key) { return wp_cache_get($key, $this->cacheGroup) !== false; } /** * Deletes a value from the cache. * * @param string $key Cache key. * * @return bool True on success, false on failure. */ public function deleteCache($key) { return wp_cache_delete($key, $this->cacheGroup); } /** * Fetches data with caching. * * @param string $key Cache key. * @param string $expire Expiration in seconds. * @param callable $callback Function to fetch data if not cached. * * @return mixed */ public function getCachedData($key, callable $callback, $expire = 0) { $value = wp_cache_get($key, $this->cacheGroup); if ($value === false) { $value = $callback(); $this->setCache($key, $value, $expire); } return $value; } }