Conversation
francoistibo
approved these changes
Oct 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexte et objectif
Le thème exposait déjà la palette de couleurs de
theme.jsonvers SCSS ($settings-palette, variables$settings-color-*) et des classes utilitaires qui copient la couleur du parent dans--color/--background-color(src/scss/04-utilities/_palette.scss).Les dégradés déclarés dans
settings.color.gradients(classes WordPress du typehas-{slug}-gradient-background) n’étaient pas synchronisés avec cette chaîne. Les enfants ne pouvaient pas réutiliser la même valeur de fond dégradé que le parent via une variable CSS, contrairement aux aplats.Cette PR aligne les dégradés sur le même modèle que la palette : génération webpack →
_theme-json.scss→ boucle@eachdans_palette.scss.Fichiers modifiés
config/webpack-theme-json-plugin.jssettings-color-gradientsdansgenerateScssVariables()src/scss/04-utilities/_palette.scss.has-{slug}-gradient-backgroundavec--gradientsrc/scss/01-abstract/_theme-json.scss$settings-gradients(vide tant qu’aucun dégradé n’est déclaré)Le dépôt modèle garde
gradients: []danssrc/theme-json/colors.json: aucun dégradé par défaut, pas de changement visuel tant qu’un projet n’en ajoute pas.Pipeline de génération (webpack)
Pour chaque entrée de
settings.color.gradientsdans letheme.jsonfusionné :{ "name": "Mon dégradé", "slug": "brand-sunset", "gradient": "linear-gradient(135deg, #ffe600 0%, #111 100%)" }Le plugin produit :
$settings-gradient-{slug}: {gradient};$settings-gradients: ( brand-sunset: $settings-gradient-brand-sunset, … );Convention identique à la palette (
settings-color-palette→$settings-color-*+$settings-palette)._theme-json.scssreste généré automatiquement (ne pas éditer à la main).Utilitaires CSS (
_palette.scss)Pour chaque couple
(slug, valeur)dans$settings-gradients:Le nom de classe suit les classes de fond dégradé du bloc editor WordPress (
has-*-gradient-background), ce qui permet de cibler le même nœud que Gutenberg sans dupliquer la définition du dégradé.Parallèle avec les couleurs unies
.has-grey-900-color--color.has-yellow-500-background-color--background-color.has-brand-sunset-gradient-background--gradientExemple d’usage
HTML (bloc ou template avec classe WP) :
SCSS :
Même principe que
color: var(--background-color)pour un enfant sur fond uni.Ajouter des dégradés sur un projet
src/theme-json/colors.json(ou le fragment JSON du projet) soussettings.color.gradients, avecname,slugetgradient(chaîne CSS valide).theme.jsonracine etsrc/scss/01-abstract/_theme-json.scss.--gradientsont émises automatiquement.Exemple minimal dans
colors.json:Les slugs doivent rester stables : ils servent aux classes WP et aux noms de variables SCSS.
Points d’attention
theme.json; SCSS et éditeur restent alignés après build.gradients: [],$settings-gradientsest vide et la boucle@eachne génère aucune classe — comportement sans risque pour les thèmes existants.background-imagevia ses propres styles de bloc ;--gradientest un pont pour les descendants en CSS custom, pas une obligation de l’utiliser sur le parent lui-même.Synthèse
Extension du pipeline theme.json → SCSS aux dégradés, plus utilitaires
--gradientcalqués sur--background-color. Le boilerplate reste sans dégradé prédéfini ; les projets en ajoutent danscolors.jsonet profitent des mêmes classes que l’éditeur pour faire hériter les enfants du fond dégradé du parent.Note
Low Risk
Build-time SCSS/CSS utility generation only; empty gradient maps produce no extra classes for existing themes.
Overview
Extends the theme.json → SCSS webpack pipeline so
settings.color.gradientsis emitted as$settings-gradient-{slug}variables and a$settings-gradientsmap (empty()when no gradients are defined), mirroring the existing color palette task._palette.scssnow generates WordPress-aligned.has-{slug}-gradient-backgroundutilities that set--gradient, so child elements can reuse a parent’s gradient viavar(--gradient)the same way solid backgrounds use--background-color. No default gradients in the boilerplate—behavior is unchanged until a project adds entries and rebuilds.Reviewed by Cursor Bugbot for commit cd695eb. Bugbot is set up for automated code reviews on this repo. Configure here.