Current Dir: /home/webdevt/www/demo3/wp-includes/
[DIR] abilities-api [ delete | rename ]
[DIR] assets [ delete | rename ]
[DIR] block-bindings [ delete | rename ]
[DIR] block-patterns [ delete | rename ]
[DIR] block-supports [ delete | rename ]
[DIR] blocks [ delete | rename ]
[DIR] certificates [ delete | rename ]
[DIR] css [ delete | rename ]
[DIR] customize [ delete | rename ]
[DIR] fonts [ delete | rename ]
[DIR] html-api [ delete | rename ]
[DIR] ID3 [ delete | rename ]
[DIR] images [ delete | rename ]
[DIR] interactivity-api [ delete | rename ]
[DIR] IXR [ delete | rename ]
[DIR] js [ delete | rename ]
[DIR] l10n [ delete | rename ]
[DIR] php-compat [ delete | rename ]
[DIR] PHPMailer [ delete | rename ]
[DIR] pomo [ delete | rename ]
[DIR] Requests [ delete | rename ]
[DIR] rest-api [ delete | rename ]
[DIR] SimplePie [ delete | rename ]
[DIR] sitemaps [ delete | rename ]
[DIR] sodium_compat [ delete | rename ]
[DIR] style-engine [ delete | rename ]
[DIR] Text [ delete | rename ]
[DIR] theme-compat [ delete | rename ]
[DIR] widgets [ delete | rename ]
[FILE] abilities.php [ edit | delete | rename ]
[FILE] atomlib.php [ edit | delete | rename ]
[FILE] author-template.php [ edit | delete | rename ]
[FILE] block-bindings.php [ edit | delete | rename ]
[FILE] block-i18n.json [ edit | delete | rename ]
[FILE] blocks.php [ edit | delete | rename ]
[FILE] cache-compat.php [ edit | delete | rename ]
[FILE] cache.php [ edit | delete | rename ]
[FILE] canonical.php [ edit | delete | rename ]
[FILE] capabilities.php [ edit | delete | rename ]
[FILE] category-template.php [ edit | delete | rename ]
[FILE] category.php [ edit | delete | rename ]
[FILE] class-avif-info.php [ edit | delete | rename ]
[FILE] class-feed.php [ edit | delete | rename ]
[FILE] class-http.php [ edit | delete | rename ]
[FILE] class-IXR.php [ edit | delete | rename ]
[FILE] class-phpmailer.php [ edit | delete | rename ]
[FILE] class-pop3.php [ edit | delete | rename ]
[FILE] class-smtp.php [ edit | delete | rename ]
[FILE] class-snoopy.php [ edit | delete | rename ]
[FILE] class-walker-category-dropdown.php [ edit | delete | rename ]
[FILE] class-walker-nav-menu.php [ edit | delete | rename ]
[FILE] class-walker-page-dropdown.php [ edit | delete | rename ]
[FILE] class-walker-page.php [ edit | delete | rename ]
[FILE] class-wp-ajax-response.php [ edit | delete | rename ]
[FILE] class-wp-application-passwords.php [ edit | delete | rename ]
[FILE] class-wp-block-bindings-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-list.php [ edit | delete | rename ]
[FILE] class-wp-block-metadata-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-pattern-categories-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-patterns-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-styles-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-supports.php [ edit | delete | rename ]
[FILE] class-wp-block-template.php [ edit | delete | rename ]
[FILE] class-wp-block-templates-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-type-registry.php [ edit | delete | rename ]
[FILE] class-wp-block-type.php [ edit | delete | rename ]
[FILE] class-wp-classic-to-block-menu-converter.php [ edit | delete | rename ]
[FILE] class-wp-comment-query.php [ edit | delete | rename ]
[FILE] class-wp-customize-control.php [ edit | delete | rename ]
[FILE] class-wp-customize-manager.php [ edit | delete | rename ]
[FILE] class-wp-customize-nav-menus.php [ edit | delete | rename ]
[FILE] class-wp-customize-panel.php [ edit | delete | rename ]
[FILE] class-wp-customize-setting.php [ edit | delete | rename ]
[FILE] class-wp-customize-widgets.php [ edit | delete | rename ]
[FILE] class-wp-duotone.php [ edit | delete | rename ]
[FILE] class-wp-error.php [ edit | delete | rename ]
[FILE] class-wp-exception.php [ edit | delete | rename ]
[FILE] class-wp-feed-cache-transient.php [ edit | delete | rename ]
[FILE] class-wp-feed-cache.php [ edit | delete | rename ]
[FILE] class-wp-http-curl.php [ edit | delete | rename ]
[FILE] class-wp-http-encoding.php [ edit | delete | rename ]
[FILE] class-wp-http-ixr-client.php [ edit | delete | rename ]
[FILE] class-wp-http-proxy.php [ edit | delete | rename ]
[FILE] class-wp-http-requests-hooks.php [ edit | delete | rename ]
[FILE] class-wp-http-requests-response.php [ edit | delete | rename ]
[FILE] class-wp-http.php [ edit | delete | rename ]
[FILE] class-wp-image-editor-gd.php [ edit | delete | rename ]
[FILE] class-wp-image-editor-imagick.php [ edit | delete | rename ]
[FILE] class-wp-image-editor.php [ edit | delete | rename ]
[FILE] class-wp-list-util.php [ edit | delete | rename ]
[FILE] class-wp-locale-switcher.php [ edit | delete | rename ]
[FILE] class-wp-locale.php [ edit | delete | rename ]
[FILE] class-wp-matchesmapregex.php [ edit | delete | rename ]
[FILE] class-wp-meta-query.php [ edit | delete | rename ]
[FILE] class-wp-network-query.php [ edit | delete | rename ]
[FILE] class-wp-network.php [ edit | delete | rename ]
[FILE] class-wp-paused-extensions-storage.php [ edit | delete | rename ]
[FILE] class-wp-phpmailer.php [ edit | delete | rename ]
[FILE] class-wp-plugin-dependencies.php [ edit | delete | rename ]
[FILE] class-wp-post-type.php [ edit | delete | rename ]
[FILE] class-wp-query.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode-cookie-service.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode-email-service.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode-key-service.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode-link-service.php [ edit | delete | rename ]
[FILE] class-wp-recovery-mode.php [ edit | delete | rename ]
[FILE] class-wp-rewrite.php [ edit | delete | rename ]
[FILE] class-wp-role.php [ edit | delete | rename ]
[FILE] class-wp-roles.php [ edit | delete | rename ]
[FILE] class-wp-script-modules.php [ edit | delete | rename ]
[FILE] class-wp-scripts.php [ edit | delete | rename ]
[FILE] class-wp-simplepie-file.php [ edit | delete | rename ]
[FILE] class-wp-simplepie-sanitize-kses.php [ edit | delete | rename ]
[FILE] class-wp-site-query.php [ edit | delete | rename ]
[FILE] class-wp-site.php [ edit | delete | rename ]
[FILE] class-wp-styles.php [ edit | delete | rename ]
[FILE] class-wp-tax-query.php [ edit | delete | rename ]
[FILE] class-wp-taxonomy.php [ edit | delete | rename ]
[FILE] class-wp-term-query.php [ edit | delete | rename ]
[FILE] class-wp-text-diff-renderer-table.php [ edit | delete | rename ]
[FILE] class-wp-textdomain-registry.php [ edit | delete | rename ]
[FILE] class-wp-theme-json-data.php [ edit | delete | rename ]
[FILE] class-wp-theme-json-schema.php [ edit | delete | rename ]
[FILE] class-wp-url-pattern-prefixer.php [ edit | delete | rename ]
[FILE] class-wp-user-meta-session-tokens.php [ edit | delete | rename ]
[FILE] class-wp-user-query.php [ edit | delete | rename ]
[FILE] class-wp-walker.php [ edit | delete | rename ]
[FILE] class-wp-widget-factory.php [ edit | delete | rename ]
[FILE] class-wp.php [ edit | delete | rename ]
[FILE] class.wp-dependencies.php [ edit | delete | rename ]
[FILE] comment-template.php [ edit | delete | rename ]
[FILE] compat-utf8.php [ edit | delete | rename ]
[FILE] compat.php [ edit | delete | rename ]
[FILE] default-filters.php [ edit | delete | rename ]
[FILE] deprecated.php [ edit | delete | rename ]
[FILE] embed-template.php [ edit | delete | rename ]
[FILE] embed.php [ edit | delete | rename ]
[FILE] error-protection.php [ edit | delete | rename ]
[FILE] feed-atom-comments.php [ edit | delete | rename ]
[FILE] feed-rdf.php [ edit | delete | rename ]
[FILE] feed-rss.php [ edit | delete | rename ]
[FILE] feed-rss2-comments.php [ edit | delete | rename ]
[FILE] fonts.php [ edit | delete | rename ]
[FILE] formatting.php [ edit | delete | rename ]
[FILE] functions.php [ edit | delete | rename ]
[FILE] functions.wp-scripts.php [ edit | delete | rename ]
[FILE] functions.wp-styles.php [ edit | delete | rename ]
[FILE] global-styles-and-settings.php [ edit | delete | rename ]
[FILE] http.php [ edit | delete | rename ]
[FILE] https-detection.php [ edit | delete | rename ]
[FILE] https-migration.php [ edit | delete | rename ]
[FILE] kses.php [ edit | delete | rename ]
[FILE] l10n.php [ edit | delete | rename ]
[FILE] link-template.php [ edit | delete | rename ]
[FILE] load.php [ edit | delete | rename ]
[FILE] media-template.php [ edit | delete | rename ]
[FILE] meta.php [ edit | delete | rename ]
[FILE] ms-blogs.php [ edit | delete | rename ]
[FILE] ms-default-constants.php [ edit | delete | rename ]
[FILE] ms-default-filters.php [ edit | delete | rename ]
[FILE] ms-deprecated.php [ edit | delete | rename ]
[FILE] ms-files.php [ edit | delete | rename ]
[FILE] ms-load.php [ edit | delete | rename ]
[FILE] ms-network.php [ edit | delete | rename ]
[FILE] ms-settings.php [ edit | delete | rename ]
[FILE] ms-site.php [ edit | delete | rename ]
[FILE] nav-menu-template.php [ edit | delete | rename ]
[FILE] nav-menu.php [ edit | delete | rename ]
[FILE] option.php [ edit | delete | rename ]
[FILE] pluggable-deprecated.php [ edit | delete | rename ]
[FILE] plugin.php [ edit | delete | rename ]
[FILE] post-template.php [ edit | delete | rename ]
[FILE] post.php [ edit | delete | rename ]
[FILE] registration-functions.php [ edit | delete | rename ]
[FILE] registration.php [ edit | delete | rename ]
[FILE] revision.php [ edit | delete | rename ]
[FILE] robots-template.php [ edit | delete | rename ]
[FILE] rss-functions.php [ edit | delete | rename ]
[FILE] script-modules.php [ edit | delete | rename ]
[FILE] sitemaps.php [ edit | delete | rename ]
[FILE] speculative-loading.php [ edit | delete | rename ]
[FILE] style-engine.php [ edit | delete | rename ]
[FILE] taxonomy.php [ edit | delete | rename ]
[FILE] template-canvas.php [ edit | delete | rename ]
[FILE] template.php [ edit | delete | rename ]
[FILE] theme-i18n.json [ edit | delete | rename ]
[FILE] theme.json [ edit | delete | rename ]
[FILE] vars.php [ edit | delete | rename ]
[FILE] version.php [ edit | delete | rename ]
[FILE] wp-db.php [ edit | delete | rename ]
[FILE] wp-diff.php [ edit | delete | rename ]
Viewing: /home/webdevt/www/demo3/wp-includes/cache-compat.php
<?php
/**
* Object Cache API functions missing from 3rd party object caches.
*
* @link https://developer.wordpress.org/reference/classes/wp_object_cache/
*
* @package WordPress
* @subpackage Cache
*/
if ( ! function_exists( 'wp_cache_add_multiple' ) ) :
/**
* Adds multiple values to the cache in one call, if the cache keys don't already exist.
*
* Compat function to mimic wp_cache_add_multiple().
*
* @ignore
* @since 6.0.0
*
* @see wp_cache_add_multiple()
*
* @param array $data Array of keys and values to be added.
* @param string $group Optional. Where the cache contents are grouped. Default empty.
* @param int $expire Optional. When to expire the cache contents, in seconds.
* Default 0 (no expiration).
* @return bool[] Array of return values, grouped by key. Each value is either
* true on success, or false if cache key and group already exist.
*/
function wp_cache_add_multiple( array $data, $group = '', $expire = 0 ) {
$values = array();
foreach ( $data as $key => $value ) {
$values[ $key ] = wp_cache_add( $key, $value, $group, $expire );
}
return $values;
}
endif;
if ( ! function_exists( 'wp_cache_set_multiple' ) ) :
/**
* Sets multiple values to the cache in one call.
*
* Differs from wp_cache_add_multiple() in that it will always write data.
*
* Compat function to mimic wp_cache_set_multiple().
*
* @ignore
* @since 6.0.0
*
* @see wp_cache_set_multiple()
*
* @param array $data Array of keys and values to be set.
* @param string $group Optional. Where the cache contents are grouped. Default empty.
* @param int $expire Optional. When to expire the cache contents, in seconds.
* Default 0 (no expiration).
* @return bool[] Array of return values, grouped by key. Each value is either
* true on success, or false on failure.
*/
function wp_cache_set_multiple( array $data, $group = '', $expire = 0 ) {
$values = array();
foreach ( $data as $key => $value ) {
$values[ $key ] = wp_cache_set( $key, $value, $group, $expire );
}
return $values;
}
endif;
if ( ! function_exists( 'wp_cache_get_multiple' ) ) :
/**
* Retrieves multiple values from the cache in one call.
*
* Compat function to mimic wp_cache_get_multiple().
*
* @ignore
* @since 5.5.0
*
* @see wp_cache_get_multiple()
*
* @param array $keys Array of keys under which the cache contents are stored.
* @param string $group Optional. Where the cache contents are grouped. Default empty.
* @param bool $force Optional. Whether to force an update of the local cache
* from the persistent cache. Default false.
* @return array Array of return values, grouped by key. Each value is either
* the cache contents on success, or false on failure.
*/
function wp_cache_get_multiple( $keys, $group = '', $force = false ) {
$values = array();
foreach ( $keys as $key ) {
$values[ $key ] = wp_cache_get( $key, $group, $force );
}
return $values;
}
endif;
if ( ! function_exists( 'wp_cache_delete_multiple' ) ) :
/**
* Deletes multiple values from the cache in one call.
*
* Compat function to mimic wp_cache_delete_multiple().
*
* @ignore
* @since 6.0.0
*
* @see wp_cache_delete_multiple()
*
* @param array $keys Array of keys under which the cache to deleted.
* @param string $group Optional. Where the cache contents are grouped. Default empty.
* @return bool[] Array of return values, grouped by key. Each value is either
* true on success, or false if the contents were not deleted.
*/
function wp_cache_delete_multiple( array $keys, $group = '' ) {
$values = array();
foreach ( $keys as $key ) {
$values[ $key ] = wp_cache_delete( $key, $group );
}
return $values;
}
endif;
if ( ! function_exists( 'wp_cache_flush_runtime' ) ) :
/**
* Removes all cache items from the in-memory runtime cache.
*
* Compat function to mimic wp_cache_flush_runtime().
*
* @ignore
* @since 6.0.0
*
* @see wp_cache_flush_runtime()
*
* @return bool True on success, false on failure.
*/
function wp_cache_flush_runtime() {
if ( ! wp_cache_supports( 'flush_runtime' ) ) {
_doing_it_wrong(
__FUNCTION__,
__( 'Your object cache implementation does not support flushing the in-memory runtime cache.' ),
'6.1.0'
);
return false;
}
return wp_cache_flush();
}
endif;
if ( ! function_exists( 'wp_cache_flush_group' ) ) :
/**
* Removes all cache items in a group, if the object cache implementation supports it.
*
* Before calling this function, always check for group flushing support using the
* `wp_cache_supports( 'flush_group' )` function.
*
* @since 6.1.0
*
* @see WP_Object_Cache::flush_group()
* @global WP_Object_Cache $wp_object_cache Object cache global instance.
*
* @param string $group Name of group to remove from cache.
* @return bool True if group was flushed, false otherwise.
*/
function wp_cache_flush_group( $group ) {
global $wp_object_cache;
if ( ! wp_cache_supports( 'flush_group' ) ) {
_doing_it_wrong(
__FUNCTION__,
__( 'Your object cache implementation does not support flushing individual groups.' ),
'6.1.0'
);
return false;
}
return $wp_object_cache->flush_group( $group );
}
endif;
if ( ! function_exists( 'wp_cache_supports' ) ) :
/**
* Determines whether the object cache implementation supports a particular feature.
*
* @since 6.1.0
*
* @param string $feature Name of the feature to check for. Possible values include:
* 'add_multiple', 'set_multiple', 'get_multiple', 'delete_multiple',
* 'flush_runtime', 'flush_group'.
* @return bool True if the feature is supported, false otherwise.
*/
function wp_cache_supports( $feature ) {
return false;
}
endif;
if ( ! function_exists( 'wp_cache_get_salted' ) ) :
/**
* Retrieves cached data if valid and unchanged.
*
* @since 6.9.0
*
* @param string $cache_key The cache key used for storage and retrieval.
* @param string $group The cache group used for organizing data.
* @param string|string[] $salt The timestamp (or multiple timestamps if an array) indicating when the cache group(s) were last updated.
* @return mixed|false The cached data if valid, or false if the cache does not exist or is outdated.
*/
function wp_cache_get_salted( $cache_key, $group, $salt ) {
$salt = is_array( $salt ) ? implode( ':', $salt ) : $salt;
$cache = wp_cache_get( $cache_key, $group );
if ( ! is_array( $cache ) ) {
return false;
}
if ( ! isset( $cache['salt'] ) || ! isset( $cache['data'] ) || $salt !== $cache['salt'] ) {
return false;
}
return $cache['data'];
}
endif;
if ( ! function_exists( 'wp_cache_set_salted' ) ) :
/**
* Stores salted data in the cache.
*
* @since 6.9.0
*
* @param string $cache_key The cache key under which to store the data.
* @param mixed $data The data to be cached.
* @param string $group The cache group to which the data belongs.
* @param string|string[] $salt The timestamp (or multiple timestamps if an array) indicating when the cache group(s) were last updated.
* @param int $expire Optional. When to expire the cache contents, in seconds.
* Default 0 (no expiration).
* @return bool True on success, false on failure.
*/
function wp_cache_set_salted( $cache_key, $data, $group, $salt, $expire = 0 ) {
$salt = is_array( $salt ) ? implode( ':', $salt ) : $salt;
return wp_cache_set(
$cache_key,
array(
'data' => $data,
'salt' => $salt,
),
$group,
$expire
);
}
endif;
if ( ! function_exists( 'wp_cache_get_multiple_salted' ) ) :
/**
* Retrieves multiple items from the cache, only considering valid and unchanged items.
*
* @since 6.9.0
*
* @param array $cache_keys Array of cache keys to retrieve.
* @param string $group The group of the cache to check.
* @param string|string[] $salt The timestamp (or multiple timestamps if an array) indicating when the cache group(s) were last updated.
* @return array An associative array containing cache values. Values are `false` if they are not found or outdated.
*/
function wp_cache_get_multiple_salted( $cache_keys, $group, $salt ) {
$salt = is_array( $salt ) ? implode( ':', $salt ) : $salt;
$cache = wp_cache_get_multiple( $cache_keys, $group );
foreach ( $cache as $key => $value ) {
if ( ! is_array( $value ) ) {
$cache[ $key ] = false;
continue;
}
if ( ! isset( $value['salt'], $value['data'] ) || $salt !== $value['salt'] ) {
$cache[ $key ] = false;
continue;
}
$cache[ $key ] = $value['data'];
}
return $cache;
}
endif;
if ( ! function_exists( 'wp_cache_set_multiple_salted' ) ) :
/**
* Stores multiple pieces of salted data in the cache.
*
* @since 6.9.0
*
* @param mixed $data Data to be stored in the cache for all keys.
* @param string $group Group to which the cached data belongs.
* @param string|string[] $salt The timestamp (or multiple timestamps if an array) indicating when the cache group(s) were last updated.
* @param int $expire Optional. When to expire the cache contents, in seconds.
* Default 0 (no expiration).
* @return bool[] Array of return values, grouped by key. Each value is either
* true on success, or false on failure.
*/
function wp_cache_set_multiple_salted( $data, $group, $salt, $expire = 0 ) {
$salt = is_array( $salt ) ? implode( ':', $salt ) : $salt;
$new_cache = array();
foreach ( $data as $key => $value ) {
$new_cache[ $key ] = array(
'data' => $value,
'salt' => $salt,
);
}
return wp_cache_set_multiple( $new_cache, $group, $expire );
}
endif;