# wp_cache_switch_to_blog_fallback()

URL: https://chugunov.pro/api-wordpress/functions/wp_cache_switch_to_blog_fallback/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 7.0.0.

## Сигнатура

```php
wp_cache_switch_to_blog_fallback()
```

## Описание

Повторно инициализирует кэш и восстанавливает глобальные и непостоянные группы.
Используется функцией совместимости wp_cache_switch_to_blog(); вынесена отдельно лишь для того, чтобы обеспечить модульное тестирование вне неразберихи с подключением drop-in-плагинов.

## Исходный код

Файл: `wp-includes/ms-blogs.php:611`

```php
function wp_cache_switch_to_blog_fallback() {
	global $wp_object_cache;

	$global_groups         = false;
	$non_persistent_groups = false;

	if ( is_object( $wp_object_cache ) && isset( $wp_object_cache->global_groups ) && is_array( $wp_object_cache->global_groups ) ) {

		// Get the global groups as they are.
		$group_names = $wp_object_cache->global_groups;

		// Get global group keys if non-numeric array.
		if ( ! wp_is_numeric_array( $group_names ) ) {
			$group_names = array_keys( $group_names );
		}

		$global_groups = $group_names;

		/*
		 * Non-persistent groups: Check for no_mc_groups first (memcached drop-in).
		 * Fall back to cache structure (default cache).
		 */
		if ( isset( $wp_object_cache->no_mc_groups ) && is_array( $wp_object_cache->no_mc_groups ) && ! empty( $wp_object_cache->no_mc_groups ) ) {
			$non_persistent_groups = $wp_object_cache->no_mc_groups;
		} elseif ( isset( $wp_object_cache->cache ) && is_array( $wp_object_cache->cache ) ) {
			$all_groups            = array_keys( $wp_object_cache->cache );
			$non_persistent_groups = array_values( array_diff( $all_groups, $global_groups ) );
		}
	}

	wp_cache_init();

	if ( function_exists( 'wp_cache_add_global_groups' ) ) {
		if ( ! is_array( $global_groups ) || empty( $global_groups ) ) {
			$global_groups = array(
				'blog-details',
				'blog-id-cache',
				'blog-lookup',
				'blog_meta',
				'global-posts',
				'image_editor',
				'networks',
				'network-queries',
				'sites',
				'site-details',
				'site-options',
				'site-queries',
				'site-transient',
				'theme_files',
				'translation_files',
				'rss',
				'users',
				'user-queries',
				'user_meta',
				'useremail',
				'userlogins',
				'userslugs',
			);
		}

		wp_cache_add_global_groups( $global_groups );
	}

	if ( function_exists( 'wp_cache_add_non_persistent_groups' ) ) {
		if ( ! is_array( $non_persistent_groups ) || empty( $non_persistent_groups ) ) {
			$non_persistent_groups = array(
				'counts',
				'plugins',
				'theme_json',
			);
		}

		wp_cache_add_non_persistent_groups( $non_persistent_groups );
	}
}
```

## История изменений

- 7.0.0 — Introduced.

## Связанные

Использует: [`wp_is_numeric_array`](https://chugunov.pro/api-wordpress/functions/wp_is_numeric_array/), [`wp_cache_init`](https://chugunov.pro/api-wordpress/functions/wp_cache_init/), [`wp_cache_add_global_groups`](https://chugunov.pro/api-wordpress/functions/wp_cache_add_global_groups/), [`wp_cache_add_non_persistent_groups`](https://chugunov.pro/api-wordpress/functions/wp_cache_add_non_persistent_groups/).
Используется в: [`wp_cache_switch_to_blog`](https://chugunov.pro/api-wordpress/functions/wp_cache_switch_to_blog/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_cache_switch_to_blog_fallback/
