WP_REST_Pattern_Directory_Controller::get_transient_key( array $query_args ): string

Include a hash of the query args, so that different requests are stored in separate caches.

Description

MD5 is chosen for its speed, low-collision rate, universal availability, and to stay under the character limit for _site_transient_timeout_{...} keys.

Parameters

$query_argsarrayrequired
Query arguments to generate a transient key from.

Return

string Transient key.

Source

protected function get_transient_key( $query_args ) {

	if ( isset( $query_args['slug'] ) ) {
		// This is an additional precaution because the "sort" function expects an array.
		$query_args['slug'] = wp_parse_list( $query_args['slug'] );

		// Empty arrays should not affect the transient key.
		if ( empty( $query_args['slug'] ) ) {
			unset( $query_args['slug'] );
		} else {
			// Sort the array so that the transient key doesn't depend on the order of slugs.
			sort( $query_args['slug'] );
		}
	}

	return 'wp_remote_block_patterns_' . md5( serialize( $query_args ) );
}

Changelog

VersionDescription
6.0.0Introduced.

User Contributed Notes

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