wp_typography_get_css_variable_inline_style

The timeline below displays how wordpress function wp_typography_get_css_variable_inline_style has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Generates an inline style for a typography feature e.g. text decoration,
 * text transform, and font style.
 *
 * @since 5.8.0
 * @access private
 * @deprecated 6.1.0 Use wp_style_engine_get_styles() introduced in 6.1.0.
 *
 * @see wp_style_engine_get_styles()
 *
 * @param array  $attributes   Block's attributes.
 * @param string $feature      Key for the feature within the typography styles.
 * @param string $css_property Slug for the CSS property the inline style sets.
 * @return string CSS inline style.
 */
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);
}

WordPress Version: 6.1

/**
 * Generates an inline style for a typography feature e.g. text decoration,
 * text transform, and font style.
 *
 * @since 5.8.0
 * @access private
 * @deprecated 6.1.0 Use wp_style_engine_get_styles() introduced in 6.1.0.
 *
 * @see wp_style_engine_get_styles()
 *
 * @param array  $attributes   Block's attributes.
 * @param string $feature      Key for the feature within the typography styles.
 * @param string $css_property Slug for the CSS property the inline style sets.
 * @return string CSS inline style.
 */
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 (strpos($style_value, "var:preset|{$css_property}|") === false) {
        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);
}

WordPress Version: 5.9

/**
 * Generates an inline style for a typography feature e.g. text decoration,
 * text transform, and font style.
 *
 * @since 5.8.0
 * @access private
 *
 * @param array  $attributes   Block's attributes.
 * @param string $feature      Key for the feature within the typography styles.
 * @param string $css_property Slug for the CSS property the inline style sets.
 * @return string CSS inline style.
 */
function wp_typography_get_css_variable_inline_style($attributes, $feature, $css_property)
{
    // 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 (strpos($style_value, "var:preset|{$css_property}|") === false) {
        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);
}

WordPress Version: 5.8

/**
 * Generates an inline style for a typography feature e.g. text decoration,
 * text transform, and font style.
 *
 * @since 5.8.0
 * @access private
 *
 * @param array  $attributes   Block's attributes.
 * @param string $feature      Key for the feature within the typography styles.
 * @param string $css_property Slug for the CSS property the inline style sets.
 *
 * @return string              CSS inline style.
 */
function wp_typography_get_css_variable_inline_style($attributes, $feature, $css_property)
{
    // 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 (strpos($style_value, "var:preset|{$css_property}|") === false) {
        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);
}