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;
}
Accroche la sortie de la colonne des utilisateurs :
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

Retour