Summary
diviops_variable_create accepts and creates Number Variables with mixed-case gvid-* IDs. The Variables pass registry lookup, validate_blocks, and persisted read-back, but Divi 5.11.1 does not emit the matching CSS custom properties on the public frontend.
As a result, valid $variable(...)$ references resolve to an empty value, causing spacing to become 0px or normal.
Environment
- WordPress version: 7.1
- Divi theme version: 5.11.1
- MCP server version: 1.5.40
- DiviOps Agent plugin version: 1.5.13
- Hosting environment: public staging site
- MCP client: Codex desktop (Windows)
- Node version: v24.18.1
Steps to reproduce
-
Create a Number Variable through diviops_variable_create.
-
The tool accepts the write and returns a mixed-case ID. Example from a controlled test:
-
Bind the Variable through a normal full $variable(...)$ reference.
-
Run validate_blocks and perform persisted read-back. Both pass.
-
Open the public page without an authenticated wp-admin session.
-
Evaluate:
getComputedStyle(document.documentElement)
.getPropertyValue('--gvid-mHHHC2iK')
Actual result
The returned value is empty on desktop, tablet, and mobile.
The frontend CSS contains a reference such as:
but Divi does not emit the matching root custom property.
Existing mixed-case spacing Variables show the same failure:
gvid-KJ3j25K9 — 8px
gvid-VdjqrmpT — 16px
gvid-W1fcbmBJ — 24px
gvid-9aP0jmuP — 32px
gvid-o1oo8J9I — 48px
Impact on the public page:
- rail gap resolves to
0px;
- information-column padding resolves to
0px;
- form margin resolves to
0px;
- mobile row gap resolves to
normal.
Additionally, diviops_variable_used_on_page truncates mixed-case IDs at the first uppercase character. For example:
Expected result
Either:
variable_create should generate lowercase-only IDs; or
- Divi's frontend emitter and DiviOps parsing should support mixed-case IDs consistently.
At minimum, variable_create or validate_blocks should reject or warn about mixed-case gvid-* IDs before they are bound to a page.
Control case
An existing lowercase Variable ID, for example:
is emitted correctly and returns a non-empty value from:
getComputedStyle(document.documentElement)
.getPropertyValue('--gvid-7udcc8xnsc')
Temporary mitigation
We have disabled new numeric Variable bindings until this is fixed. We do not use hardcoded CSS or Custom CSS as a workaround.
Summary
diviops_variable_createaccepts and creates Number Variables with mixed-casegvid-*IDs. The Variables pass registry lookup,validate_blocks, and persisted read-back, but Divi 5.11.1 does not emit the matching CSS custom properties on the public frontend.As a result, valid
$variable(...)$references resolve to an empty value, causing spacing to become0pxornormal.Environment
Steps to reproduce
Create a Number Variable through
diviops_variable_create.The tool accepts the write and returns a mixed-case ID. Example from a controlled test:
Bind the Variable through a normal full
$variable(...)$reference.Run
validate_blocksand perform persisted read-back. Both pass.Open the public page without an authenticated wp-admin session.
Evaluate:
Actual result
The returned value is empty on desktop, tablet, and mobile.
The frontend CSS contains a reference such as:
but Divi does not emit the matching root custom property.
Existing mixed-case spacing Variables show the same failure:
Impact on the public page:
0px;0px;0px;normal.Additionally,
diviops_variable_used_on_pagetruncates mixed-case IDs at the first uppercase character. For example:Expected result
Either:
variable_createshould generate lowercase-only IDs; orAt minimum,
variable_createorvalidate_blocksshould reject or warn about mixed-casegvid-*IDs before they are bound to a page.Control case
An existing lowercase Variable ID, for example:
is emitted correctly and returns a non-empty value from:
Temporary mitigation
We have disabled new numeric Variable bindings until this is fixed. We do not use hardcoded CSS or Custom CSS as a workaround.