[wp-trac] [WordPress Trac] #58467: `wp_get_global_styles`: return the standard format for CSS Custom Properties
WordPress Trac
noreply at wordpress.org
Tue Jun 6 11:33:00 UTC 2023
#58467: `wp_get_global_styles`: return the standard format for CSS Custom
Properties
--------------------------+------------------------------
Reporter: oandregal | Owner: oandregal
Type: defect (bug) | Status: assigned
Priority: normal | Milestone: Awaiting Review
Component: General | Version:
Severity: normal | Resolution:
Keywords: | Focuses:
--------------------------+------------------------------
Changes (by oandregal):
* keywords: has-patch has-unit-tests =>
Old description:
> The `wp_get_global_styles` functions returns an internal format for CSS
> Custom Properties instead of the proper CSS format.
>
> === Step-by-step reproduction instructions
>
> - Use a theme that has a `theme.json`.
> - Paste the following under `styles.blocks`:
>
> ```json
> "core/post-terms": {
> "typography": { "fontSize": "var(--wp--preset--font-size--small)" },
> "color":{ "background": "var:preset|color|secondary" }
> }
> ```
> - Use the `wp_get_global_styles` functions to retrieve those styles. For
> example, paste the following in `functions.php` of the theme:
>
> ```php
> add_action( 'init', function(){
> error_log( print_r( wp_get_global_styles( array(),
> array('block_name'=>'core/post-terms') ), true ) );
> } );
> ```
>
> The result will be:
>
> ```php
> (
> [typography] => Array( [fontSize] => var(--wp--preset--font-size--
> small) )
> [color] => Array( [background] => var:preset|color|secondary )
> )
> ```
>
> when it should have been
>
> ```php
> (
> [typography] => Array( [fontSize] => var(--wp--preset--font-size--
> small) )
> [color] => Array( [background] => var(--wp--preset--color--secondary)
> )
> )
> ```
>
> Note the `color.background` value. It should return the value in the
> standard CSS Custom Property format, not the shortened internal format.
New description:
The `wp_get_global_styles` functions returns an internal format for CSS
Custom Properties instead of the proper CSS format.
=== Step-by-step reproduction instructions
- Use a theme that has a `theme.json`.
- Paste the following under `styles.blocks`:
{{{
"core/post-terms": {
"typography": { "fontSize": "var(--wp--preset--font-size--small)" },
"color":{ "background": "var:preset|color|secondary" }
}
}}}
- Use the `wp_get_global_styles` functions to retrieve those styles. For
example, paste the following in `functions.php` of the theme:
{{{#!php
<?php
add_action( 'init', function(){
error_log( print_r( wp_get_global_styles( array(),
array('block_name'=>'core/post-terms') ), true ) );
} );
}}}
The result will be:
{{{#!php
<?php
(
[typography] => Array( [fontSize] => var(--wp--preset--font-size--
small) )
[color] => Array( [background] => var:preset|color|secondary )
)
}}}
when it should have been
{{{#!php
<?php
(
[typography] => Array( [fontSize] => var(--wp--preset--font-size--
small) )
[color] => Array( [background] => var(--wp--preset--color--secondary)
)
)
}}}
Note the `color.background` value. It should return the value in the
standard CSS Custom Property format, not the shortened internal format.
--
--
Ticket URL: <https://core.trac.wordpress.org/ticket/58467#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list