W3cubDocs

/WordPress

wp_typography_get_css_variable_inline_style( array $attributes, string $feature, string $css_property ): string

Generates an inline style for a typography feature e.g. text decoration, text transform, and font style.

Description

See also

Parameters

$attributesarrayrequired
Block’s attributes.
$featurestringrequired
Key for the feature within the typography styles.
$css_propertystringrequired
Slug for the CSS property the inline style sets.

Return

string CSS inline style.

Source

function wp_typography_get_css_variable_inline_style( $attributes, $feature, $css_property ) {
	_deprecated_function( __FUNCTION__, '6.1.0', 'wp_style_engine_get_styles()' );

	// Retrieve current attribute value or skip if not found.
	$style_value = _wp_array_get( $attributes, array( 'style', 'typography', $feature ), false );
	if ( ! $style_value ) {
		return;
	}

	// If we don't have a preset CSS variable, we'll assume it's a regular CSS value.
	if ( ! str_contains( $style_value, "var:preset|{$css_property}|" ) ) {
		return sprintf( '%s:%s;', $css_property, $style_value );
	}

	/*
	 * We have a preset CSS variable as the style.
	 * Get the style value from the string and return CSS style.
	 */
	$index_to_splice = strrpos( $style_value, '|' ) + 1;
	$slug            = substr( $style_value, $index_to_splice );

	// Return the actual CSS inline style e.g. `text-decoration:var(--wp--preset--text-decoration--underline);`.
	return sprintf( '%s:var(--wp--preset--%s--%s);', $css_property, $css_property, $slug );
}

Changelog

Version Description
6.1.0 Use wp_style_engine_get_styles() introduced in 6.1.0.
5.8.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_typography_get_css_variable_inline_style