Использование файлов переводов в дочерних темах wordpress.

3414
0

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

Дочерние темы wordpress

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

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

/wp-content/themes/

Дочернюю тему нужно называть точно так же как и основную, но добавлять -child в названии папки, то есть если основная тема называется SuperTheme то дочерняя тема должна называться SuperTheme-child.

Далее создал в этой папке файл styles.css в соответствии с документацией со следующим содержанием:

Этот файл — единственный необходимый файл, без которого дочерняя тема не будет функционировать. Далее активировал дочернюю тему в настройках тем, убедился что все работает. Остается только сделать так чтобы файлы локализации брались из дочерней темы.

Используем файлы локализации из дочерней темы wordpress

Теперь известными Вам способами подготавливаем файлы локализации. В итоге у Вас должно получиться два файла ru_RU.mo и ru_RU.po и называть они должны именно так. Далее создаем в дочерней теме папку languages и заливаем туда файлы локализации.

Осталось только сделать что бы файлы локализации использовались в нашей теме, так как по умолчанию они не подключаться. для этого нам придется отредактировать или создать файл functions.php в дочерней теме wordpress. Этот файл должен лежать в корне дочерней темы и иметь следующее содержание:

Данная функция подключит локализованные файлы перевода из папки languages которая находится в дочерней теме. Будьте внимательны в коде указано название вашей основной темы, которое вы должны заменить на свое значение. Это все. Удачи.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here