wp_cache_add_global_groups()WP 2.6.0

Добавляет указанную группу объектного кэша в список глобальных групп. Нужно для мультисайта.

Глобальные группы кэша - это группы для которых не устанавливается префикс блога и единый кэш работает для всей сети.

Как это работает

При добавлении объект. кэша, через функцию wp_cache_add( $key, $data, $group ) в третьем параметре можно указать группу. Если эта группа является глобальной, то кэш будет один для всех сайтов сети. Если нет, то кэш будет отличаться - у каждого сайта сети будет свой кэш.

По умолчанию глобальными группами являются:

users
userlogins
usermeta
user_meta
useremail
userslugs
site-transient
site-options
blog-lookup
blog-details
site-details
rss
global-posts
blog-id-cache
networks
sites

Если нужно, чтобы объектный кэш вообще не работал для указанной группы, используйте функцию wp_cache_add_non_persistent_groups().

Работает на основе: WP_Object_Cache::add_global_groups()

Хуков нет.

Возвращает

null. Ничего (null)

Использование

wp_cache_add_global_groups( $groups );
$groups(строка/массив) (обязательный)
Название группы или массив с названиями групп, которые пометить как глобальные.

Примеры

0

#1 Пример добавления глобальной группы

Допустим мы создали некую сущность со своей таблицей в БД и и отдельной таблицей с метаданными. Сущность называется 'tests'. Метаданные управляются функциями WP: add_metadata(), get_metadata() и тд.

Теперь, нам нужно сделать, чтобы сохраняемые в кэш данные этой сущности были едиными для всей сети сайтов, а не отличались для разных сайтов сети. Для этого сделаем группу tests_meta глобальной (она указывается при добавлении кэша метаданных).

wp_cache_add_global_groups( 'tests_meta' );

Заметки

Список изменений

С версии 2.6.0 Введена.

Код wp_cache_add_global_groups() WP 6.5.2

function wp_cache_add_global_groups( $groups ) {
	global $wp_object_cache;

	$wp_object_cache->add_global_groups( $groups );
}