WordPress Version: 6.3
/**
* Gets the HTTP header information to prevent caching.
*
* The several different headers cover the different ways cache prevention
* is handled by different browsers.
*
* @since 2.8.0
* @since 6.3.0 The `Cache-Control` header for logged in users now includes the
* `no-store` and `private` directives.
*
* @return array The associative array of header names and field values.
*/
function wp_get_nocache_headers()
{
$cache_control = (function_exists('is_user_logged_in') && is_user_logged_in()) ? 'no-cache, must-revalidate, max-age=0, no-store, private' : 'no-cache, must-revalidate, max-age=0';
$headers = array('Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT', 'Cache-Control' => $cache_control);
if (function_exists('apply_filters')) {
/**
* Filters the cache-controlling HTTP headers that are used to prevent caching.
*
* @since 2.8.0
*
* @see wp_get_nocache_headers()
*
* @param array $headers Header names and field values.
*/
$headers = (array) apply_filters('nocache_headers', $headers);
}
$headers['Last-Modified'] = false;
return $headers;
}