Темы Turbo
Контракт turbo-темы
Section titled “Контракт turbo-темы”Тема считается turbo-совместимой, если:
- В
functions.phpобъявленоadd_theme_support( 'wp2lms-turbo' ). - В
style.cssесть Tagwp2lms-turbo(и/или Description про turbo-совместимость). - Бренд отдаётся через
assets/css/design-tokens.css(+ шрифты темы):--color-*,--font-*,--background-image-gradient-*,--text-skin-*, slug’ы палитры как в Pulse/MOS.
Проверка в core: current_theme_supports( 'wp2lms-turbo' ) (TurboThemeSupport). Не завязываться на slug wp2lms-turbo-*-theme — новые темы подключаются одной строкой support.
Без support takeover не рендерит курс: HTML-заглушка «Нужна turbo-совместимая тема» (фильтр wp2turbo/frontend/requires_turbo_theme, default true). В админке — предупреждение TurboThemeAdminNotice.
MOS / УКС — wp2lms-turbo-mos-theme (этот monorepo)
Section titled “MOS / УКС — wp2lms-turbo-mos-theme (этот monorepo)”- Шрифты: Golos Text
- Акцент:
#0B8A5B - Токены:
assets/css/design-tokens.css - Сборка:
cd wp2lms-turbo-mos-theme && npm install && npm run buildPulse — wp2lms-turbo-pulse-theme (onepix, не здесь)
Section titled “Pulse — wp2lms-turbo-pulse-theme (onepix, не здесь)”- Канон:
onepix/wp2lms-turbo-pulse-theme - Skin:
onepix/wp2lms-turbo-blocks-pulse - Не собирать Pulse-скриптами из этого monorepo (
build:theme:pulseотсутствует)
White-label / Brand SoT
Section titled “White-label / Brand SoT”Бренд живёт только в теме. Пакет blocks (wp2lms-turbo-blocks-mos здесь / wp2lms-turbo-blocks-pulse в onepix) держит семантику + нейтральные fallback’и в tokens.css.
На turbo takeover / static HTML токены темы подключаются после skin.css через ThemeDesignTokens + StaticAssetCollector.
Pulse и MOS — sibling white-label на одном API. Любое новое имя токена/slug — сразу в обе линии (onepix Pulse + этот MOS), если нужен parity.