Внесения изменений в тему с использованием дочерней темы

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


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

Навигация по странице:

  • Зачем использовать дочернюю тему?
  • Использование файлов шаблона при создании дочерней темы.
  • Использование functions.php в дочерней теме
  • Ссылки/включение файлов в дочернюю тему
  • Полезная информация по использованию дочерней темы
  • Использование почтовых форматов
  • Поддержка RTL
  • Интернационализация дочерней темы

Зачем использовать дочернюю тему?

Есть несколько причин, почему вы хотели бы использовать дочернюю тему:

  • Если вы измените тему, которой вы пользуетесь в данный момент, при выходе обновления темы ваши изменения могут быть удалены. При использовании темы дочерней вы можете быть уверены, что ваши изменения сохранятся.
  • Использование дочерней темы может ускорить время разработки.
  • Использование дочерней темы является отличным способом, узнать о развитии WordPress.

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

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

Если вы хотите изменить больше, чем просто стиль, ваша дочерняя тема может переопределить любой файл в родительской теме: просто включить файл с таким же именем в каталоге ребенка, и она будет переопределять эквивалентный файл в каталоге родителя, когда это будет происходить загрузка вашего сайта. Например, если вы хотите изменить код PHP для заголовка сайта, вы можете включить в каталог header.php вашей дочерней темы, и этот файл будет использоваться вместо header.php родительского.

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

Использование functions.php в дочерней теме

В отличие от style.css, functions.php из темы ребенка не переопределяет своего коллегу из родительской темы. Вместо этого, он загружается в дополнение к functions.php родителя. (В частности, он загружается прямо перед родительским файлом.)

Таким образом  functions.php из дочерней темы предоставляет интеллектуальный и бесперебойный способ модификации функциональности материнской темы. К примеру если вы хотите добавить некий функционал к вашей теме, самый быстрый способ будет открыть functions.php файл и положить функцию там. Но это не самое умное решение, при следующем обновлении вашей темы, ваши функции исчезнут. К счастью существует альтернативный способ, который является верным решением этой проблемы: вы можете создать тему ребенка, добавить functions.php файл, и добавить функцию к этому файлу. Функция будет делать ту же самую работу и оттуда, с тем преимуществом, что она не будет утеряна, при будущих обновлениях материнской темы.

Структура functions.php проста: открывающий тег PHP в верхней части, и под ним, ваши функции PHP. В файле вы можете поставить столько функций, сколько вы хотите. Пример ниже показывает элементарный functions.php файл, который делает одну простую вещь — добавляет ссылку FavIcon в голову элемента HTML-страницы.

<PHP // Открытие PHP скрипта — ничего не должно быть до этого, даже пробелов
// Включаем пользовательскую функцию
function favicon_link () {
echo ‘<link rel=»shortcut icon» type=»image/x-icon» href=»/favicon.ico» />’ . «n»;
}
add_action (‘wp_head’, ‘favicon_link’);

123456

<PHP // Открытие PHP скрипта — ничего не должно быть до этого, даже пробелов// Включаем пользовательскую функциюfunction favicon_link () {    echo ‘<link rel=»shortcut icon» type=»image/x-icon» href=»/favicon.ico» />’ . «n»;} add_action (‘wp_head’, ‘favicon_link’);

Полезные советы для разработчиков: Тот факт, что файл functions.php дочерней темы загружается в первую очередь означает, что вы можете сделать пользовательские функции связанные с подключаемыми в родителе, то есть, по переменным ребенка theme-, объявив их условно. Например:

if ( ! function_exists( ‘theme_special_nav’ ) ) {
function theme_special_nav() {
// Do something.
}
}

12345

if ( ! function_exists( ‘theme_special_nav’ ) ) {    function theme_special_nav() {        //  Do something.    }}

Таким образом, тема ребенок может заменить PHP функцию родителя просто объявляя ее заранее.

Ссылки/включение файлов в дочернюю тему

Когда вам нужно включить файлы, которые находятся в пределах структуры каталогов вашей дочерней темы, вам нужно будет использовать get_stylesheet_directory (). Так style.css родительского шаблона замещается style.css вашей дочерней темы, который размещается  в корне директории вашей темы ребенка; get_stylesheet_directory () указывает на каталог вашей дочерней темы, а не каталога родительской.

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

require_once (get_stylesheet_directory () ‘/my_included_file.php.);

1

require_once (get_stylesheet_directory () ‘/my_included_file.php.);

Полезная информация по использованию дочерней темы
Использование почтовых форматов

Ребенок наследует тему почтовых форматов, определенных в родительском теме. При создании дочерних темы, нужно знать , что с помощью функции add_theme_support (‘post-formats’) будет переопределять форматы, определенные родительской темой.

Поддержка RTL

Для поддержки языков RTL нужно добавить rtl.css файл к вашей дочерней теме содержащий:

Theme Name: Twenty Fourteen Child // название дочерней темы
Template: twentyfourteen // название папки с шаблонами
*/
rtl.css загружается только, если функция is_rtl () возвращает истину.
Рекомендуется добавить файл rtl.css для вашей дочерней темы, даже если родитель не имеет rtl.css файл.
Интернационализация дочерней темы

Детские темы, как и другие расширения, могут быть переведены на другие языки с помощью Gettext функции.

Для интернационализации дочерней темы выполните следующие действия:

  • Добавить каталог языка.
    • Что-то вроде моей my-theme/languages/.
  • Добавить языковые файлы.
    • Ваши имена должны быть he_IL.po & he_IL.mo (в зависимости от языка), в отличие от файлов плагина, которые имеют формат domain-he_IL.xx.
  • Загрузка языка домена.
    • Используйте load_child_theme_textdomain () в functions.php в течении after_setup_theme действия.
    • Текст домена, определенный в load_child_theme_textdomain () следует использовать, чтобы перевести все строки в дочерней теме.
  • Используйте функции GetText, что бы добавить i18n поддержку для строк.

Пример textdomain:

<?php /** * Setup My Child Theme’s textdomain. * * Declare textdomain for this child theme. * Translations can be filed in the /languages/ directory. */ function my_child_theme_setup() { load_child_theme_textdomain( ‘my-child-theme’, get_stylesheet_directory() . ‘/languages’ ); } add_action( ‘after_setup_theme’, ‘my_child_theme_setup’ ); ?>

Пример gettext functions

<?php _e( ‘Code is Poetry’, ‘my-child-theme’ ); ?>

Чтобы подвести итог, все строки, которые используют «my-child-theme» будет переведено. Файл перевода должен находиться в «/languages/» каталоге.

Источник: WordPress.org.

Рекомендую почитать:

  • Удаляем ссылки на дату публикации и автора статьи.
  • Избавляемся от лишних запросов к базе данных.
  • Самостоятельно создаем и устанавливаем фавикон.
  • Пользовательские CSS, меняем внешний вид через редактор плагина.
  • Меняем формат выводимой даты.

Related Articles

Back to top button
Close

Atomic Wallet

Jaxx Wallet

Jaxx Wallet Download

Atomic Wallet Download

Atomic Wallet App

atomicwalletapp.com

sinkronisasi reel pendek pola 4 6 spin yang sering mendahului scatter ketiga riset soft start ketika awal spin terlihat ringan tapi menyimpan momentum besar pola jam senja 18 30 20 30 aktivasi wild lebih rapat dibanding sesi lain deteksi visual micro flash efek singkat yang muncul tepat sebelum pre freespin analisis jalur simbol menyilang indikator non linear menuju burst bertingkat fenomena board padat simbol besar berkumpul sebelum tumble panjang terbuka studi turbo pendek mengapa 6 9 spin cepat lebih sering mengunci momentum perilaku reel awal saat reel 1 2 terlihat berat menjelang aktivasi multiplier pola recovery halus wild tunggal muncul setelah dead spin sebagai sinyal balik arah riset scatter tertahan ketika dua scatter bertahan lama sebelum ledakan aktual efek clean frame stabil layar terlihat bersih tepat saat rtp masuk zona seimbang analogi hujan gerimis tumble kecil berulang yang diam diam mengarah ke burst besar mapping ritme animasi perubahan tempo visual sebagai petunjuk pre burst pola jam malam 21 00 23 00 frekuensi multiplier bertingkat meningkat signifikan reel terakhir aktif aktivasi mendadak di reel 5 sebagai pemicu tumble lanjutan observasi spin manual kontrol ritme yang membantu membaca sinyal sistem deteksi low pay berpola ketika simbol kecil justru menjadi fondasi bonus studi pre burst senyap fase tenang 8 12 spin sebelum ledakan tajam jalur simbol turun naik gerakan dinamis yang mengindikasikan multiplier siap aktif blueprint sesi pendek strategi mengatur awal tengah spin agar momentum tidak terbuang reel tengah menguat pola sinkronisasi halus yang sering jadi awal scatter berlapis riset mini tumble ketika 3 tumble pendek berurutan jadi penanda bonus dekat kabut tipis di layar frame redup yang hampir selalu mengarah ke pre multiplier analisis pola jam 17 00 20 00 wild awal muncul lebih konsisten dari hari sebelumnya slide track tajam pergerakan simbol diagonal yang munculkan fase pre burst fenomena quiet board ketika 10 spin tenang justru memunculkan ledakan mendadak scatter luncur lambat indikator unik bahwa freespin akan terealisasi setelah 2 4 spin pola spin turbo ringkas efektivitas 7 turbo cepat dalam memicu tumble besar perubahan warna clean frame efek putih pucat yang jadi kode sebelum multiplier aktif riset simbol berat ketika high pay turun lebih banyak dari biasanya menjelang bonus analisis rotasi vertikal jalur simbol memanjang yang memperkuat potensi burst pola jam dingin 02 00 04 00 scatter sering bertahan lama sebelum akhirnya terkunci fs simulasi 3000 spin frekuensi wild grip muncul tinggi di pola malam hari reel 5 hyper active tanda bahwa sistem sedang mendorong momentum ke kanan analogi sungai tenang layar tanpa tumble yang justru menyimpan ledakan 2 3 putaran lagi frame gelap sesaat sinyal visual tipis sebelum scatter muncul berturut turut pola recovery wild ketika wild muncul setelah dead spin panjang sebagai pembalik keberuntungan mapping simbol rendah bagaimana low pay yang berulang bisa mengangkat probabilitas bonus reel bergerak serempak efek sinkronisasi singkat sebelum pre freespin sequence pola burst 3 lapisan ketika sistem memberikan tumble berjenjang yang mengarah ke ledakan utama