wp_cache_set( int|string $key, mixed $data, string $group = '', int $expire )

Saves the data to the cache.

Description Description

Differs from wp_cache_add() and wp_cache_replace() in that it will always write data.

See also See also

Top ↑

Parameters Parameters


(int|string) (Required) The cache key to use for retrieval later.


(mixed) (Required) The contents to store in the cache.


(string) (Optional) Where to group the cache contents. Enables the same key to be used across groups.

Default value: ''


(int) (Optional) When to expire the cache contents, in seconds. Default 0 (no expiration).

Top ↑

Return Return

(bool) False on failure, true on success

Top ↑

Source Source

File: wp-includes/cache.php

function wp_cache_set( $key, $data, $group = '', $expire = 0 ) {
	global $wp_object_cache;

	return $wp_object_cache->set( $key, $data, $group, (int) $expire );

Top ↑

Changelog Changelog

Version Description
2.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Mayeenul Islam
    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(
                            "SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'post' AND post_status = %s",
            wp_cache_set( $cache_key, $_posts );
        return $_posts;

You must log in before being able to contribute a note or feedback.