Returns the style property for the given path.
Description
It also converts references to a path to the value stored at that location, e.g.
{ "ref": "style.color.background" } => "#fff".
Parameters
$styles
arrayrequired- Styles subtree.
$path
arrayrequired- Which property to process.
$theme_json
arrayoptional- Theme JSON array.
Default:
null
Source
$discard = array_search( $duplicate, array_column( $declarations, 'name' ), true );
if ( is_numeric( $discard ) ) {
array_splice( $declarations, $discard, 1 );
}
}
return $declarations;
}
/**
* Returns the style property for the given path.
*
* It also converts references to a path to the value
* stored at that location, e.g.
* { "ref": "style.color.background" } => "#fff".
*
* @since 5.8.0
* @since 5.9.0 Added support for values of array type, which are returned as is.
* @since 6.1.0 Added the `$theme_json` parameter.
* @since 6.3.0 It no longer converts the internal format "var:preset|color|secondary"
* to the standard form "--wp--preset--color--secondary".
* This is already done by the sanitize method,
* so every property will be in the standard form.
*
* @param array $styles Styles subtree.
* @param array $path Which property to process.
* @param array $theme_json Theme JSON array.
* @return string|array Style property value.
*/
protected static function get_property_value( $styles, $path, $theme_json = null ) {
$value = _wp_array_get( $styles, $path, '' );
if ( '' === $value || null === $value ) {
// No need to process the value further.
return '';
}
/*
* This converts references to a path to the value at that path
* where the values is an array with a "ref" key, pointing to a path.
* For example: { "ref": "style.color.background" } => "#fff".
*/
if ( is_array( $value ) && isset( $value['ref'] ) ) {
$value_path = explode( '.', $value['ref'] );
$ref_value = _wp_array_get( $theme_json, $value_path );
Changelog
Version | Description |
---|---|
6.3.0 | It no longer converts the internal format "var:preset|color|secondary " to the standard form "–wp–preset–color–secondary".This is already done by the sanitize method, so every property will be in the standard form. |
6.1.0 | Added the $theme_json parameter. |
5.9.0 | Added support for values of array type, which are returned as is. |
5.8.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.