wpseek.com
A WordPress-centric search engine for devs and theme authors



wp_typography_get_preset_inline_style_value › WordPress Function

Since6.1.0
Deprecatedn/a
wp_typography_get_preset_inline_style_value ( $style_value, $css_property )
Parameters: (2)
  • (string) $style_value A raw style value for a single typography feature from a block's style attribute.
    Required: Yes
  • (string) $css_property Slug for the CSS property the inline style sets.
    Required: Yes
Links:
Returns:
  • (string) A CSS inline style value.
Defined at:
Codex:

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

Note: This function is for backwards compatibility. It is necessary to parse older blocks whose typography styles contain presets. It mostly replaces the deprecated wp_typography_get_css_variable_inline_style(), but skips compiling a CSS declaration as the style engine takes over this role.


Source

function wp_typography_get_preset_inline_style_value( $style_value, $css_property ) {
	// If the style value is not a preset CSS variable go no further.
	if ( empty( $style_value ) || ! str_contains( $style_value, "var:preset|{$css_property}|" ) ) {
		return $style_value;
	}

	/*
	 * For backwards compatibility.
	 * Presets were removed in WordPress/gutenberg#27555.
	 * A preset CSS variable is the style.
	 * Gets the style value from the string and return CSS style.
	 */
	$index_to_splice = strrpos( $style_value, '|' ) + 1;
	$slug            = _wp_to_kebab_case( substr( $style_value, $index_to_splice ) );

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