Ваш путь: Главная » Техническое SEO » текущая страница

возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2022-02-22 в теме: Техническое SEO
Запросто с WordPress создание и продвижение сайтов ATs media

Когда и как правильно нужно создавать дочернюю тему шаблона?

Написать эту статейку меня окончательно вдохновил один комментарий (ссылку дам ниже) хотя, и раньше порывался… потому как задают иногда подобные вопросы и здесь (в блоге) и в CRM студии: тратится, скажем так, много времени на пояснения, а ведь, если заказчик немного изучит техническую сторону создания дочерней темы, то и сам запросто сможет своевременно решить этот в общем-то несложный, но важнейший вопрос без излишних затрат на перестройку сайта!.

 

В сети много высказываний по этому “дочернему” поводу, да и в кодексе WordPress подробные статьи, однако, мне думается, логичнее всего написать пост у себя – с привязкой, так сказать, к вопросам своей клиентуры – и, при необходимости, на него ссылаться.

 

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

 


 

 

 

 

 

Продвижение сайта: общие правила, возможности, средства

 

 

 

 

когда нужно создать дочернюю тему для шаблона

 

 

 

Правильнее всего создать дочернюю тему “Дочку” как только запускаете сайт с шаблоном, который в дальнейшем предполагает обновления! Например, если скачивали шаблон из репозитория Вордпресс и т.п.

 

Почему?!

 

В этом как раз и кроется основная ошибка администраторов-новичков:

 

 

1 – предположим: мы установили шаблон… запустили стартовый сайт… приступили к настройке шаблона в админке: задаём всякие там TITLE, дескрипшны, заголовки сайта, устанавливаем в сайдбары виджеты тонко их настраиваем и прочее, прочее…

Но!.. приходит время, и мы понимаем, что без дочерней темы не обойтись…

 

 

 

WordPress SEO: 11 советов по защите и организации трафика на сайт.

Условные теги WordPress: наиболее полная подборка, пояснения…

Забыл пароль!? как зайти в админку, минуя страницу входа — авторизоваться…

Если часто слетает авторизация в WordPress

 

 

 

К примеру, мы решили, что совершенно естественно в процессе работы с сайтом – поправить дизайн (внешний вид сайта через файл style.css) или добавить какой-то симпатичный функционал посредством файла функций functions.php родительской темы…

 

Однако, как известно, если мы станем непосредственно править файлы обновляемого шаблона, то, все наши правки, при очередном обновлении темы, начисто затрутся! Перепишутся! тем самым затерев редакции кода: вся наша работа с файлами коту под хвост!

 

 

2 – когда мы решаемся создавать дочернюю тему, например, через полгода, то должны понимать и помнить, что сайт, работающий с родительской темой, и – сайт, использующий дочернюю тему, это по сути разные в плане настроек сайты!!

То есть, при активации дочерней темы, вновь предстоит настройка (или перенастройка) сайта: сайдбары, заголовки и прочий описанный в пункте 1 полезный функционал… а это морока…

 

 

Чтобы этой пустой перенастройки сайта избежать – желательно сразу же установить дочернюю тему. Это никак не скажется на работе сайта, даже если у вас нет желания (необходимости) на первых порах её использовать: т.е. править файлы родительской темы.

 

 

 

Неоспоримый плюс:

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

 

Помните: когда мы регулируем в админке настройки сайта, то эти “настройки” в большинстве своём, если не все, хранятся в Базе Данных, в разделе, скажем так, таблиц, прикреплённых к уникальному имени шаблона. Вот поэтому, если мы меняем шаблон, то изменяются и настройки…

Например: у нас шаблон с именем – twentyseventeen, а его дочернее имя: twentyseventeen-child. Два разных имени! и все ихние настройки соответственно разделены в таблицах Б.Д.

 

 

 

Вот комментарий, в котором мне одна дама пыталась доказать… что 2 + 2 = 5 – прочтите сами по ссылке… (надеюсь, она на нас не обидится)

 

 

 

 

как создать дочернюю тему родительского шаблона

 

 

 

 

1 – На хостинге открываем файловый менеджер, а именно папку themes (для всех иных шаблонов – принцип создания дочерней темы аналогичен)

 

 

Предположим, мы используем тему twentyseventeen но нам нужно создать для неё дочернюю тему.

 

 

2 – Имя дочерней теме, к примеру, решили дать такое: twentyseventeen-child

 

 

3 – Создаём в папке themes папку с именем twentyseventeen-child

 

 

структура в папке themes получится примерно такой:

 

 

Child Themes

 

 

 

Замечательно!

 

 

…предположительно, у нас получился такой путь до папки дочернего шаблона:

 

/wp-content/themes/twentyseventeen-child/

 

 

4 – Создаём в “дочерней” папке файлы с именинами: style.css и functions.php

 

 

 

 

как создать файлы для дочерней темы шаблона – 2 варианта

 

 

 

 

 

1 вариант… свяжем родительский шаблон с дочерней темой посредством файла CSS style.css:

 

 

В самом начале файла CSS – style.css дочерней темы twentyseventeen-child поместим такие строки: (измените данные на свои!)

 

 

 

/*
Theme Name: дочерняя тема - twentyseventeen-child
Template: twentyseventeen

Необязательные параметры:
Theme URI: http://site.ru/
Description: Дочерняя тема для темы twentyseventeen
Author: my
Author URI: http://site.ru/
Version: 1.0
*/
@import url("../twentyseventeen/style.css");

/* пример селекторов css */
.site-title, .site-title a {color:#fff !important;opacity:1}

 

 

 

В принципе всё! на этом можно остановиться… однако, есть и второй вариант подключения дочерней темы – посредством файла функций (он мне более симпатичен – я его почти всегда использую)

 

 

…открываем файл functions.php который мы создавали по статье чуть выше, и в самом верху файла записываем такие строки: (работаем с файлом функций дочерней темы!!).

 

 

 

<?php

// более правильный вариант чем @import
add_action( 'wp_enqueue_scripts', 'my_child_theme_scripts' );
    function my_child_theme_scripts()
{
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

 

 

Используя этот вариант, закомментируйте или удалите в файле стилей дочерней темы строку @import url("../twentyseventeen/style.css");

 

 

И ещё один нюанс: добавим для наглядности картинку (миниатюру) для дочернего шаблона, чтобы та отображалась в настройках “Темы” шаблона.

 

…картинку можно взять из родительской темы screenshot.png, – предварительно подредактировав в фоторедакторе, закачаем её в папку дочернего шаблона.

 

 

…структура внутри папки дочерней темы получится примерно такая:

(на картинке присутствуют иные файлы… пусть это вас не смущает: на данном этапе эти файлы вам не нужны – а все требуемые в дальнейшем папки/файлы, вы добавите самостоятельно)

 

 

 

сделать Child Themes

 

 

 

 

Вот и всё – дочерняя тема создана! Остаётся её только активировать через админку: “Внешний втд”/”Темы”… и далее уже смело приступать к настройкам сайта!

 

 

 

 

моя дочерняя тема

 

 

 

 

Помните: настраивайте сайт, используя новую активированную дочернюю тему! так целесообразнее…

В этом случае все настройки останутся в сохранности. И, в последствии, коли решите расширять функционал сайта – безбоязненно приступайте к редакции файлов, папок дочернего шаблона.

 

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

 

 

 

подробнее о создании дочерней темы можно прочесть в документации WP здесь: тут или Child Themes.

 

 

 

По мере возникновения у пользователей вопросов, буду дополнять статью… а если стану расписывать подробности прямо сейчас, то пост превратно превратится в большущую нудную статью))

…так что, не стесняясь, задавайте вопросы в комментариях.

 

 

 

 

Смена эл/почты; логина пользователя (админа); пароля через Базу Данных за минуту

 

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


  1. Все правильно, дочерняя тема должна создаваться с самого начала. Но, как правило, новички об этом не знают и начинают вносить свои правки и наступают на грабли. Знания даются не сразу, они постепенно приходят.

    У меня исторически так сложилось, что самая первая моя тема ни разу не получала обновления и я, даже ничего не подозревая о существовании дочерних тем, правил её как только мог :) А потом накопилось столько изменений, что от прежней темы не осталось и следа, даже название поменял.

    Ответить - Денис

    • Здравствуйте Денис!
      спасибо за коммент, потому как читателям важны комменты от тех, которые по старше (в плане знаний)
      У меня к вам есть предложение (заходил к вам на сайт около месяца назад, вроде публикаций маловато было свежих; тогда писать не стал) – сейчас вижу, вы на связи – работаете…
      Предложение в плане темы аутсорса…
      Короче, на эл/п отпишу попозже…

      Ответить - Михаил

      • Если верстка натягивается на WP, и имеется шаблон underscores, не имеет смысла создавать дочернюю для нее тему?

        Ответить - Сергей

        • Привет, Сергей!
          В общем-то, дочернюю тему желательно создавать всегда!!!!!
          Если вы понимаете, что делаете и сам шаблон (тема) ваша и под вашим же контролем (не обновляется со стороны) то тогда необязательно использовать “дочку”. Во всех иных вариантах – дочерняя тема целесообразна.

          Ответить - Михаил

  2. Здравствуйте!
    Подскажете, как правильно подключить дополнительный файл(лы) в дочерней теме?

    Ответить - Василий

    • Привет, Василий!
      Вот так можно подключить:

      /*подключаем файл стилей в Доч. теме*/
      add_action( 'wp_enqueue_scripts', 'ats_child_styles' );
      function ats_child_styles() {
      	wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array(), null  ); // так для основной темы: get_template_directory_uri()
      }
      /*подключаем файл стилей в Доч. теме*/

      или проще:

      add_action( 'wp_enqueue_scripts', 'custom_ats_theme_scripts' );
      function custom_ats_theme_scripts() {
              wp_enqueue_style( 'custom-styless', get_stylesheet_directory_uri() . '/mystyle.css', false );
      }
      Ответить - Михаил