helick/cache-helpers
Composer 安装命令:
composer require helick/cache-helpers
包简介
Helpers for the WordPress object cache and transients
README 文档
README
Helpers for the WordPress object cache and transients.
Requirements
Make sure all dependencies have been installed before moving on:
Install
Via Composer:
$ composer require helick/cache-helpers
Usage
The package provides the following functions for WordPress:
cache_remember()cache_forget()transient_remember()transient_forget()site_transient_remember()site_transient_forget()
Each function checks the response of the callback for a WP_Error object, ensuring you're not caching temporary errors for long periods of time. PHP Exceptions will also not be cached.
cache_remember()
Get a value from the object cache, if one doesn't exist, run the given callback to generate and cache the value.
Parameters
- (string) $key
- The cache key.
- (callable) $callback
- The callback used to generate and cache the value.
- (string) $group
- Optional. The cache group. Default is empty.
- (int) $expire
- Optional. The number of seconds before the cache entry should expire. Default is 0 (as long as possible).
Example
use function Helick\CacheHelpers\cache_remember; function get_latest_posts() { return cache_remember('latest', function () { return new WP_Query([ 'posts_per_page' => 5, 'orderby' => 'post_date', 'order' => 'desc', ]); }, 'posts', HOUR_IN_SECONDS); }
cache_forget()
Get and subsequently delete a value from the object cache.
Parameters
- (string) $key
- The cache key.
- (string) $group
- Optional. The cache group. Default is empty.
- (mixed) $default
- Optional. The default value to return if the given key doesn't exist in the object cache. Default is null.
Example
use function Helick\CacheHelpers\cache_forget; function display_error_message() { $error_message = cache_forget('form_errors', 'my-cache-group', false); if ($error_message) { echo 'An error occurred: ' . $error_message; } }
transient_remember()
Get a value from the transients, if one doesn't exist, run the given callback to generate and cache the value.
Parameters
- (string) $key
- The cache key.
- (callable) $callback
- The callback used to generate and cache the value.
- (int) $expire
- Optional. The number of seconds before the cache entry should expire. Default is 0 (as long as possible).
Example
use function Helick\CacheHelpers\transient_remember; function get_tweets() { $user_id = get_current_user_id(); $key = 'latest_tweets_' . $user_id; return transient_remember($key, function () use ($user_id) { return get_latest_tweets_for_user($user_id); }, 15 * MINUTE_IN_SECONDS); }
transient_forget()
Get and subsequently delete a value from the transients.
Parameters
- (string) $key
- The cache key.
- (mixed) $default
- Optional. The default value to return if the given key doesn't exist in transients. Default is null.
use function Helick\CacheHelpers\transient_forget; function display_error_message() { $error_message = transient_forget('form_errors', false); if ($error_message) { echo 'An error occurred: ' . $error_message; } }
site_transient_remember()
Get a value from the transients, if one doesn't exist, run the given callback to generate and cache the value.
This function shares arguments and behavior with transient_remember(), but works network-wide when using WordPress Multisite.
Parameters
- (string) $key
- The cache key.
- (mixed) $default
- Optional. The default value to return if the given key doesn't exist in transients. Default is null.
use function Helick\CacheHelpers\site_transient_remember; function get_tweets() { $user_id = get_current_user_id(); $key = 'latest_tweets_' . $user_id; return site_transient_remember($key, function () use ($user_id) { return get_latest_tweets_for_user($user_id); }, 15 * MINUTE_IN_SECONDS); }
site_transient_forget()
Get and subsequently delete a value from the site transients.
This function shares arguments and behavior with transient_forget(), but works network-wide when using WordPress Multisite.
Parameters
- (string) $key
- The cache key.
- (mixed) $default
- Optional. The default value to return if the given key doesn't exist in transients. Default is null.
use function Helick\CacheHelpers\site_transient_forget; function display_error_message() { $error_message = site_transient_forget('form_errors', false); if ($error_message) { echo 'An error occurred: ' . $error_message; } }
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email evgenii@helick.io instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 391
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-06-26