Returns classnames, and generates classname(s) from a CSS preset property pattern, e.g. var:preset||
.
Parameters
$style_value
stringrequired- A single raw style value or CSS preset property from the
$block_styles
array. $style_definition
arrayrequired- A single style definition from BLOCK_STYLE_DEFINITIONS_METADATA.
Source
protected static function get_classnames( $style_value, $style_definition ) {
if ( empty( $style_value ) ) {
return array();
}
$classnames = array();
if ( ! empty( $style_definition['classnames'] ) ) {
foreach ( $style_definition['classnames'] as $classname => $property_key ) {
if ( true === $property_key ) {
$classnames[] = $classname;
continue;
}
$slug = static::get_slug_from_preset_value( $style_value, $property_key );
if ( $slug ) {
/*
* Right now we expect a classname pattern to be stored in BLOCK_STYLE_DEFINITIONS_METADATA.
* One day, if there are no stored schemata, we could allow custom patterns or
* generate classnames based on other properties
* such as a path or a value or a prefix passed in options.
*/
$classnames[] = strtr( $classname, array( '$slug' => $slug ) );
}
}
}
return $classnames;
}
Changelog
Version | Description |
---|---|
6.1.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.