wp_start_object_cache() WP 3.0.0

Запускає об’єктне кешування WordPress.

Якщо у каталозі wp-contentіснує файл object-cache.php, він використовуватиме як альтернативне джерело об’єктного кешування. Так, через цей файл можна замінити базове об’єктне кешування на якесь інше, наприклад: Memcache, Memcached, APC, XCache.

Хуки з функції

Повертає

null. Нічого не вертає.

Використання

wp_start_object_cache();

Приклади

0

#1 Приклади цієї функції немає сенсу

Прикладів використання немає, тому що цю функцію не потрібно використовувати ніде! Вона викликається у файлі wp-settings.phpсамим WordPress на ранньому етапі завантаження ядра.

нотатки

  • Global. Масив. $wp_filter Stores all of the filters.

список змін

З версії 3.0.0Введено.

Код wp_start_object_cache() WP 6.0.2

function wp_start_object_cache() {
	Global $wp_filter;
	static $first_init = true;

	// Тільки виконує following checks once.

	/**
	 * Filters whether to enable loading of the object-cache.php drop-in.
	 *
	 * Цей filtr runs before it can be used by plugins. It is designed for non-web
	 * runtimes. Якщо false is returned, object-cache.php will never be loaded.
	 *
	 * @ Since 5.8.0
	 *
	 * @param bool $enable_object_cache Whether to enable loading object-cache.php (if present).
	 * Default true.
	 */
	if ( $first_init && apply_filters( 'enable_loading_object_cache_dropin', true ) ) {
		if ( ! function_exists( 'wp_cache_init' ) ) {
			/*
			 * Це є normal situation. First-run of this function. No
			 * caching backend has been loaded.
			 *
			 * We try to load a custom caching backend, and then, if it
			 * results in a wp_cache_init() function existing, we note
			 * that an external object cache is being used.
			 */
			if ( file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
				require_once WP_CONTENT_DIR . '/object-cache.php';
				if ( function_exists( 'wp_cache_init' ) ) {
					wp_using_ext_object_cache(true);
				}

				// Re-initialize any hooks added manually by object-cache.php.
				if ( $wp_filter ) {
					$wp_filter = WP_Hook::build_preinitialized_hooks( $wp_filter );
				}
			}
		} elseif ( ! wp_using_ext_object_cache() && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
			/*
			 * Sometimes advanced-cache.php може load object-cache.php before
			 * this function is run. Це breaks the function_exists() check
			 * above and can result in wp_using_ext_object_cache() returning
			 * false when actual an external cache is in use.
			 */
			wp_using_ext_object_cache(true);
		}
	}

	if ( ! wp_using_ext_object_cache() ) {
		require_once ABSPATH. WPINC. '/cache.php';
	}

	require_once ABSPATH. WPINC. '/cache-compat.php';

	/*
	 * If cache supports reset, reset instead of init if already
	 * initialized. Reset signals to the cache that global IDs
	 * має змінені і це потрібно, щоб update keys and cleanup caches.
	 */
	if ( ! $first_init && function_exists( 'wp_cache_switch_to_blog' ) ) {
		wp_cache_switch_to_blog( get_current_blog_id() );
	} elseif ( function_exists( 'wp_cache_init' ) ) {
		wp_cache_init();
	}

	if ( function_exists( 'wp_cache_add_global_groups' ) ) {
		wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'blog-lookup', 'blog-ta ', 'site-details', 'rss', 'global-posts', 'blog-id-cache', 'networks', 'sites', 'blog_meta')));
		wp_cache_add_non_persistent_groups( array( 'counts', 'plugins' ) );
	}

	$first_init = false;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *