wp_get_computed_fluid_typography_value()
Вычисляет fluid значение типографики в виде CSS-функции clamp().
Для вычисления нужно указать минимальную и максимальную ширину вьюпорта, а также минимальный и максимальный размер шрифта.
Функция нормализует переданные размеры и на основе линейной интерполяции собирает формулу вида clamp(min, preferred, max) для использования в CSS-свойстве font-size.
Функция является внутренней, используется ядром при вычислении флюидных значений в theme.json.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуков нет.
Возвращает
Строку|null.
-
string- размер шрифта с использование clamp(). null- возвращается, если некорректно указаны параметры, либо расчёт приводит к делению на ноль.
Использование
wp_get_computed_fluid_typography_value( $args );
- $args(array)
Параметры для вычисления clamp() значения:
-
minimum_viewport_width(строка)
Минимальный вьюпорт - от которого должен увеличиваться размер. -
maximum_viewport_width(строка)
Максимальный вьюпорт - до которого должен увеличиваться размер. -
minimum_font_size(строка)
Минимальный размер шрифта. Например, 16px, 1rem. -
maximum_font_size(строка)
Максимальный размер шрифта. - scale_factor(число)
Множитель, управляет тем, насколько быстро шрифт растёт между заданными границами. По умолчанию: 1 - плавное изменение от границе к границе.
-
Примеры
#1 Demo
$args = [ 'minimum_viewport_width' => '320px', 'maximum_viewport_width' => '1200px', 'minimum_font_size' => '1rem', 'maximum_font_size' => '3rem', 'scale_factor' => 1, ]; echo wp_get_computed_fluid_typography_value( $args ); // clamp(1rem, 1rem + ((1vw - 0.2rem) * 3.636), 3rem) $args['scale_factor'] = 2; echo wp_get_computed_fluid_typography_value( $args ); // clamp(1rem, 1rem + ((1vw - 0.2rem) * 7.273), 3rem)
#2 Использование с запасным статичным размером
В этом примере показывается, как можно подстраховаться на случай, если функция вернёт null, и вывести статичный размер шрифта вместо fluid-формулы.
$args = [ 'minimum_viewport_width' => '360px', 'maximum_viewport_width' => '1440px', 'minimum_font_size' => '1.2rem', 'maximum_font_size' => '2rem', 'scale_factor' => 0.9, ]; $fluid_font_size = wp_get_computed_fluid_typography_value( $args ); $font_size_css = $fluid_font_size ? $fluid_font_size : '1.6rem'; ?> <p style="font-size: <?php echo esc_attr( $font_size_css ); ?>"> Текст абзаца с плавным или статичным размером шрифта. </p>
Список изменений
| С версии 6.1.0 | Введена. |
| С версии 6.3.0 | Checks for unsupported min/max viewport values that cause invalid clamp values. |
| С версии 6.5.0 | Returns early when min and max viewport subtraction is zero to avoid division by zero. |