Статья рассказывает, как запрограммировать пакетное внесение изменений в файлы темы WordPress.

Один раз запрограммированный пакет исправлений и дополнений позволяет в будущем:

  • восстановить изменения в файлах темы WordPress при ее обновлении
  • перенести изменения в другую тему
  • вести несколько вариантов изменений

Дочерние темы или правка файлов

Обычно в файлы темы, например, в такие файлы, как style.css, functions.php, header.php, footer.php вносятся изменения для настройки внешнего вида или добавления новых возможностей. Но, поскольку при обновлении версии темы обновляются и её файлы, то сделанные изменения при этом теряются.

Разработчики WordPress ввели для этого специальный вид тем — дочерние темы.

Дочерняя тема WordPress — это тема, которая расширяет функционал другой темы, называемой родительской темой, и позволяет вам изменять или дополнять функционал родительской темы.

Подробнее о создании и настройке дочерней темы можно прочитать в документации WordPress по ссылке Дочерние темы.

В тех случаях, когда дочерние темы не используются, а изменения вносятся путем редактированием файлов темы, можно запрограммировать пакетное внесение изменений файлов, которое потом можно повторно использовать в любой момент.

Кроме того, некоторые изменения проще внести редактированием файла style.css рабочей темы, чем созданием дочерней темы.

  • например, одинаковую смену шрифта у большого количества элементов

Запрограммировать пакетные изменения, то есть внесение нескольких изменений одним действием, можно с помощью программы nhrt.

Бесплатная консольная программа nhrt (nhutils replace text выполняет замену и вставку текста в файлах, с поддержкой регулярных выражений. Программа работает из командной строки Windows и может быть использована в пакетных файлах.

Изменение шрифта темы WordPress в bat файле

Этот пример показывает, как решить проблему шрифта в теме Spacious, применяемой в данный момент на этом сайте. Тема Spacious использует по умолчанию шрифт Lato, не имеющий поддержки кириллицы, поэтому английские символы показываются шрифтом Lato, а вместо русских букв подставляется Arial, то есть два шрифта смешиваются.

Чтобы указать использование вместо Lato другого шрифта с поддержкой кириллицы, например, Open Sans, необходимо:

  • зарегистрировать шрифт Open Sans в файле functions.php
  • заменить Lato на Open Sans в файле style.css

Регистрация шрифта в файле functions.php

Регистрации шрифта Open Sans с поддержкой кириллицы осуществляется добавлением в inc/functions.php следующей строки:

wp_register_style( 'google_fonts', '//fonts.googleapis.com/css?family=Open+Sans:300i,400,400i,700&subset=cyrillic' );

В программе nhrt это делается командой:

nhrt -insert_after -spt:"wp_register_style( 'google_fonts', '//fonts.googleapis.com/css?family=Lato' );" -et:"\n\twp_register_style( 'google_fonts', '//fonts.googleapis.com/css?family=Open+Sans:300i,400,400i,700&subset=cyrillic' );" -cp:utf8 -o:d -notitle inc\functions.php

Добавление указывается параметром -insert_after, который вставляет новый текст после найденного. Если нет необходимости сохранять в файле строку регистрации старого шрифта Lato, можно делать замену текста вместо вставки, просто убрав параметр insert_after.

Текст для поиска задается параметром -spt.

Текст для вставки, то есть строка регистрации шрифта Open Sans задается параметром -et, в тексте также добавлены символы перевода строки.

Замена шрифта в файле style.css

Смена шрифта делается обычной заменой текста -spt / -t:

nhrt -spt:"'Lato'" -t:"'Open Sans'" -cp:utf8 -o:d -notitle style.css

После выполнения команды все вхождения 'Lato' будут заменены на 'Open Sans'.

Итоговый командный файл

Bat файл для смены шрифта включает рассмотренные выше команды.

Чтобы предотвратить повторное добавление строк, проверяется код возврата первой команды – работа завершается, если не найдено вхождение 'Lato'.

nhrt -spt:"'Lato'" -t:"'Open Sans'" -cp:utf8 -o:d -notitle style.css || exit /b 0
nhrt -insert_after -spt:"wp_register_style( 'google_fonts', '//fonts.googleapis.com/css?family=Lato' );" -et:"\n\twp_register_style( 'google_fonts', '//fonts.googleapis.com/css?family=Open+Sans:300i,400,400i,700&subset=cyrillic' );" -cp:utf8 -o:d -notitle inc\functions.php

Естественно, в этот bat файл можно вставлять и другие команды для добавления новых возможностей на сайт, и тогда запуск одного bat файла будет вносить весь необходимый пакет изменений.

Узнать больше

Страница программы nhrt — /blog/nhrt/ с описанием.

Справка по программе nhrt — /blog/nhrt/help/

Пакетное изменение css и php файлов WordPress в nhrt
Метки:    

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *