W3cubDocs

/WordPress

WP_Site_Health::get_page_cache_headers(): array

Returns a list of headers and its verification callback to verify if page cache is enabled or not.

Description

Note: key is header name and value could be callable function to verify header value.
Empty value mean existence of header detect page cache is enabled.

Return

array List of client caching headers and their (optional) verification callbacks.

Source

public function get_page_cache_headers() {

	$cache_hit_callback = static function ( $header_value ) {
		return str_contains( strtolower( $header_value ), 'hit' );
	};

	$cache_headers = array(
		'cache-control'          => static function ( $header_value ) {
			return (bool) preg_match( '/max-age=[1-9]/', $header_value );
		},
		'expires'                => static function ( $header_value ) {
			return strtotime( $header_value ) > time();
		},
		'age'                    => static function ( $header_value ) {
			return is_numeric( $header_value ) && $header_value > 0;
		},
		'last-modified'          => '',
		'etag'                   => '',
		'x-cache-enabled'        => static function ( $header_value ) {
			return 'true' === strtolower( $header_value );
		},
		'x-cache-disabled'       => static function ( $header_value ) {
			return ( 'on' !== strtolower( $header_value ) );
		},
		'x-srcache-store-status' => $cache_hit_callback,
		'x-srcache-fetch-status' => $cache_hit_callback,
	);

	/**
	 * Filters the list of cache headers supported by core.
	 *
	 * @since 6.1.0
	 *
	 * @param array $cache_headers Array of supported cache headers.
	 */
	return apply_filters( 'site_status_page_cache_supported_cache_headers', $cache_headers );
}

Hooks

apply_filters( ‘site_status_page_cache_supported_cache_headers’, array $cache_headers )

Filters the list of cache headers supported by core.

Changelog

Version Description
6.1.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_site_health/get_page_cache_headers