Как правильно использовать дочернюю тему WordPress

Плагины WordPress для создания дочерней темы

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

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

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

Что такое дочерние темы?

Кодекс WordPress утверждает:

  • Дочерняя тема наследует функционал и стиль от родительской. Она является рекомендуемым способом модификации существующей темы.

Каждая дочерняя тема связана только со своей родительской темой. Нужно установить её вместе с родительской, но активировать после. Таким образом можно установить на сайте последнюю версию, сохранив все настройки.

В чём преимущества такого подхода?

Было бы неплохо, если бы разработчики всегда включали дочерние темы в свой пакет. В чём же их преимущества?

  • Пользователь может работать с кодом, не боясь потерять настройки при обновлении.
  • Вы сможете задавать разный уровень сложности при работе с разными клиентами.

Основные компоненты дочерней темы

  • Корневой каталог с файлами.
  • Файл style.css, содержащий настройки стилей.
  • Файл functions.php, содержащий описания функций.

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

Как создать дочернюю тему?

Проще всего использовать для этого плагин. В репозитории вы сможете найти множество бесплатных плагинов. Вот краткое описание двух плагинов и одного шаблона:

1. Плагин Child Theme Configurator

[wp-pic type=»plugin» slug=»child-theme-configurator» layout=»large» ]

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

2. Плагин Child Themify

[wp-pic type=»plugin» slug=»child-themify» layout=»large» ]

Плагин требует минимум места и позволяет создать тему буквально за один клик.

3. Шаблон _child The WordPress Child Theme Boilerplate

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

  • style.css
  • functions.php

Файл style.css содержит в начале комментарий к стандартному заголовку, который поможет WordPress опознать его в качестве таблицы стилей. Здесь наиболее важными являются теги шаблона и название темы, причём тег можно заменить на название.

Код для файла style.css:

[php]/**
* Theme Name: Themename Child
* Description: Themename Child Theme
* Theme URI: https://labs.ahmadawais.com/_child/
* Author: mrahmadawais, WPTie
* Author URI: http://ahmadawais.com/
* Template: themename
* Version: 1.0.0
*/

/* —————————————————————————-
* Child Theme Style.css styles begin here!
* ————————————————————————-*/[/php]

Файл functions.php располагает таблицу стилей родительской темы впереди таблицы дочерней, что позволяет сохранять стиль родительской темы в дочерней.

Многие разработчики связывают темы в CSS, но это не очень удачное решение, поскольку замедляет загрузку страниц из-за последовательной загрузки стилей. Если же обе таблицы расположены независимо друг от друга, то стили загружаются одновременно.

Код для файла functions.php выглядит следующим образом:

[php]<?php
/**
* Child theme functions
*
* Functions file for child theme, enqueues parent and child stylesheets by default.
*
* @since 1.0.0
* @package aa
*/

// Exit if accessed directly.
if ( ! defined( ‘ABSPATH’ ) ) {
exit;
}
if ( ! function_exists( ‘aa_enqueue_styles’ ) ) {
// Add enqueue function to the desired action.
add_action( ‘wp_enqueue_scripts’, ‘aa_enqueue_styles’ );

/**
* Enqueue Styles.
*
* Enqueue parent style and child styles where parent are the dependency
* for child styles so that parent styles always get enqueued first.
*
* @since 1.0.0
*/
function aa_enqueue_styles() {
// Parent style variable.
$parent_style = ‘parent-style’;

// Enqueue Parent theme’s stylesheet.
wp_enqueue_style( $parent_style, get_template_directory_uri() . ‘/style.css’ );

// Enqueue Child theme’s stylesheet.
// Setting ‘parent-style’ as a dependency will ensure that the child theme stylesheet loads after it.
wp_enqueue_style( ‘child-style’, get_stylesheet_directory_uri() . ‘/style.css’, array( $parent_style ) );
}
}[/php]

Несколько слов в заключение

Не имеет значения, являетесь Вы конечным пользователем или разработчиком;  дочерние темы — самый правильный способ настройки вашей родительской темы. Теперь у вас есть два плагина и шаблон, которые помогут вам быстрее  взяться за дело. Наверняка при чтении этой статьи у вас появились какие-то мысли по поводу обработки дочерней темы. Поделитесь ими в комментариях.

Напишите ответ

Screenshot.png
Общаясь и проявляя активность в Клубе по WordPress

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