wp_get_global_stylesheet()
Получает готовый CSS-код из смерженных данных theme.json, вариаций стилей и кастомных настроек пользователя.
Функция собирает пресеты (палитры, масштабы, границы и т. д.), переменные и другие объявления из theme.json, учитывает кастомные правки в панели «Глобальные стили», а затем превращает их в CSS строку.
Результат кэшируется в object-cache (группа theme_json) и не кэшируется при включённом dev-режиме theme.
По умолчанию глобальные переменные подключатся через wp_enqueue_global_styles_css_custom_properties() на хуке:
// add wp_get_global_stylesheet( [ 'variables' ] ) add_action( 'enqueue_block_editor_assets', 'wp_enqueue_global_styles_css_custom_properties' );
Используйте wp_clean_theme_json_cache() для сброса кэша, если нужно немедленно получить обновлённые стили.
Хуков нет.
Возвращает
string. CSS-строку глобальных стилей темы.
Использование
wp_get_global_stylesheet( $types );
- $types(array)
Массив сегментов, которые нужно включить в вывод. Передавая нужные сегменты, можно сократить объём стилей, если требуется только часть.
Возможные сегменты:
- variables — только CSS-переменные (Custom Properties) для пресетов и пользовательских значений.
- styles — только содержимое секции
stylesвtheme.json. - presets — только CSS-классы для пресетов.
- base-layout-styles — только базовые стили раскладки.
- custom-css — только пользовательский CSS.
Если указать пустой массив (по-умолчанию), то будут получены следующие сегменты:
- Для тем без theme.json:
variables,presets,base-layout-styles. - Для тем с theme.json:
variables,presets,styles.
Допустимые значения совпадают с первым аргументом метода WP_Theme_JSON::get_stylesheet().
По умолчанию:
[]
Примеры
#1 Демо
Результат зависит от параметров theme.json и настроект стилей.
variables:
echo wp_get_global_stylesheet( [ 'variables' ] );
:root {
--wp--preset--aspect-ratio--square: 1;
--wp--preset--aspect-ratio--4-3: 4/3;
--wp--preset--color--white: #ffffff;
--wp--preset--color--light-green-cyan: #7bdcb5;
--wp--preset--color--vivid-green-cyan: #00d084;
--wp--preset--font-size--small: 13px;
--wp--preset--font-size--medium: 20px;
--wp--preset--spacing--20: 0.44rem;
--wp--preset--spacing--30: 0.67rem;
//...
}
presets:
echo wp_get_global_stylesheet( [ 'presets' ] );
.has-black-color {
color: var(--wp--preset--color--black) !important;
}
.has-cyan-bluish-gray-color {
color: var(--wp--preset--color--cyan-bluish-gray) !important;
}
//...
styles:
echo wp_get_global_stylesheet( [ 'styles' ] );
Список изменений
| С версии 5.9.0 | Введена. |
| С версии 6.1.0 | Added 'base-layout-styles' support. |
| С версии 6.6.0 | Resolves relative paths in theme.json styles to theme absolute paths. |
| С версии 7.0.0 | Deprecated 'base-layout-styles' type; classic themes now receive full styles with layout-specific alignment rules skipped via base_layout_styles option. |