Найдя нелицензированный шрифт на сайте, естественное желание — открыть файлы темы и заменить название шрифта прямо в коде. Это работает, но создаёт новую проблему: любое последующее обновление темы (а обновления важны для безопасности сайта) перезапишет файлы темы их оригинальной версией, и внесённая правка со шрифтом бесследно исчезнет, вернув сайт к исходному, нелицензированному состоянию без каких-либо предупреждений.
Почему прямая правка файлов темы — плохая практика
Правило, действующее не только для шрифтов, но для любых модификаций WordPress-сайта: файлы темы, скачанной от стороннего разработчика, не предназначены для прямого редактирования, если тема продолжает получать обновления. Разработчики тем регулярно выпускают обновления безопасности и совместимости, и при обновлении WordPress заменяет файлы темы новой версией целиком, без сохранения внесённых пользователем правок.
Правильный способ — переопределение через дочернюю тему
Стандартный WordPress-механизм для безопасной кастомизации — дочерняя тема (child theme): отдельный, минимальный набор файлов, который наследует функциональность родительской темы, но позволяет переопределять отдельные аспекты, включая стили, без изменения оригинальных файлов. Правило подключения шрифта и переопределение font-family добавляются в файл стилей дочерней темы — родительская тема при этом продолжает благополучно обновляться, а кастомизация сохраняется.
Альтернатива — пользовательский CSS без дочерней темы
Если создание полноценной дочерней темы избыточно для конкретной задачи, WordPress также предлагает встроенный раздел «Дополнительный CSS» в настройках кастомайзера (Внешний вид → Настроить → Дополнительный CSS) — код, добавленный туда, сохраняется в базе данных отдельно от файлов темы и переживает её обновления. Для точечной задачи вроде замены одного шрифта на сайте этого обычно достаточно.
Пример переопределения
body, h1, h2, h3, h4, p, a, button {
font-family: 'Montserrat', sans-serif !important;
}
Использование !important здесь часто оправдано технически — оно гарантирует, что переопределение имеет приоритет над оригинальными стилями темы, которые могут задавать шрифт с более высокой специфичностью селектора. Это не самая элегантная практика с точки зрения общей архитектуры CSS, но для точечной, изолированной задачи замены шрифта — рабочий и предсказуемый способ.
Не забыть про сам файл шрифта
Переопределение font-family — только часть задачи: нужно также подключить сам файл нового шрифта через собственное правило @font-face (если используется self-hosted бесплатный аналог) или через официальный сервис (если решено оставить, например, Google Fonts с их собственным подключением). Без этого браузер попытается применить указанное в CSS название шрифта, но, не найдя соответствующий файл, откатится на резервный системный шрифт, что визуально может выглядеть иначе, чем ожидалось.
В нашем плагине замена шрифта работает именно через переопределение стилей с автоматическим подключением подобранного бесплатного аналога — без необходимости вручную создавать дочернюю тему или разбираться с CSS-специфичностью.

