wp_cache_get( int|string $key, string $group = '', bool $force = false, bool $found = null )
Retourne les contenus du cache en donnant la clé et le groupe.
Paramètres
$key
(int | string) (Requis) Clé sous laquelle les contenus du cache sont stockés.
$group
(string) (Optionnel) Où sont groupés les contenus du cache.
Valeur par défaut : ''
$force
(bool) (Optionnel) Pour forcer une mise à jour du cache local provenant du cache persistant.
Valeur par défaut : false
$found
(bool) (Optionnel) Si la clé a été trouvé dans le cache (passée par référence). À défaut de retourner false, retourne une valeur stockable.
Valeur par défaut : null
Retourne
(mixed | false) Les contenus du cache, sinon false.
Structure de la fonction wp_cache_get()
Définie dans le fichier wp-includes/cache.php à la ligne 122 :
function wp_cache_get( $key, $group = '', $force = false, &$found = null ) {
global $wp_object_cache;
return $wp_object_cache->get( $key, $group, $force, $found );
}
Où trouver la fonction wp_cache_get()
dans le CMS Wordpress
Exemples
function prefix_get_post_count( $post_status = 'publish' ) {
$cache_key = 'prefix_post_count_'. $post_status;
$_posts = wp_cache_get( $cache_key );
if ( false === $_posts ) {
$_posts = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'post' AND post_status = %s",
$post_status
));
wp_cache_set( $cache_key, $_posts );
}
return $_posts;
}
public function column_users( $blog ) {
$user_count = wp_cache_get( $blog['blog_id'] . '_user_count', 'blog-details' );
if ( ! $user_count ) {
$blog_users = new WP_User_Query(
array(
'blog_id' => $blog['blog_id'],
'fields' => 'ID',
'number' => 1,
'count_total' => true,
)
);
$user_count = $blog_users->get_total();
wp_cache_set( $blog['blog_id'] . '_user_count', $user_count, 'blog-details', 12 * HOUR_IN_SECONDS );
}
printf(
'<a href="%s">%s</a>',
esc_url( network_admin_url( 'site-users.php?id=' . $blog['blog_id'] ) ),
number_format_i18n( $user_count )
);
}
Sources
Codex Wordpress : wp_cache_get()
Autres fonctions dans le même fichier : wp-includes/cache.php