Какво е child тема за WordPress и защо ни е нужна?

Какво е child тема за WordPress и защо ни е нужна?

Често срещан въпрос е – какво е child тема и кога търябва да я използваме?

Буквалният превод на „child theme“ е „детска тема“, а в WordPress средите се използва термина „child“ тема. В WordPress можете да направите сайт изключително лесно, просто трябва да изберете най-подходящата тема за вас, и да я инсталирате.

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

⚠ Важно: Неприятното в случая е че всички промени които правите по файловете на основната тема, ще се изгубят при актуализация на темата, и ще се наложи да направите същите промени. И така при всяка бъдеща актуализация на темата. Не малко хора са правели грешката, да сметнат че им е писнало след всяка актуализация да правят едни и същи промени, и затова са решили да не актуализират темата. Но това представлява сериозен риск за сигурността на сайта. Поради това се налага да използвате други методи за модификации по стиловете и функциите на темата, и най- адекватният вариат е да използвате „child тема“.

Child темата не е тема в пълният смисъл на думата и не може да работи самостоятелно. Child темата, по-скоро е допълнение към основната тема, чрез което допълнение да правите промени по дизайна или да създавате нови функционалности, без да променяте файловете на основната тема. Това ще позволи да правите бъдещите актуализации на основната тема, без да загубите промените които сте направели по дизайна и функционалността и без да застрашите сигурността на сайта.

Бележка: Промените по стила и функционалностите, направени във файловете на child темата, се запазват при обновяване на основната тема.

Какви са ползите от използването на child тема са?

  • Може променяте стила и функционалностите в сайта, без да променяте файловете на основната тема.
  • Ще можете да обновявате основната тема, без притеснение, че ще изгубите направените промени.
  • Ще поддържате сигурността на сайта, защото ще можете да обновявате основната тема.
  • Можете бързо да възстановите основната версия на дизайна, като превключите към основната тема.

Създаване на child тема:

Можете да създадете child тема на сайта по два начина – ръчно или чрез плъгин. Ръчното създаване на child тема включва няколко основни стъпки:

В директорията с теми (/wp-content/themes/) трябва да създадете нова директория. Добра практика е, името на новата директория да започва с името на основната тема и да завършва с „-child„. Например ако името на основната тема е „myblog„, името на новата директория трябва да е „myblog-child„. Но и да сложите друго име, пак ще работи коректно.

В новосъздадената директория трябва да създадете два основни файла: style.css и functions.php. След като се направи коректна конфигурация на двата фаила, child темата ще бъде готова за активиране.

⚠ Важно: Препоръчително е да създавате child тема на работно копие на сайта. Може да свалите копие на сайта и да работите на локален сървър, или да създадете работно копие на сайта през cPanel » Softaculous » Staging.

Вече създадохме нова доректория и това всищност е нашата „child“ тема. Сега трябва да направим конфигурацията на style.css файла.

Style.css файла трябва да съдържа долния коментар в горната част на файла. Това дава на WordPress основна информация за темата, включително факта, че това е „child“ тема с определен родител.

/*
 Theme Name:   Twenty Twenty One Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Twenty Fifteen Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     twentytwentyone
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twentytwentyonechild
*/

Някои от редовете не са задължителни, а просто препоръчителни. Но редовете които трябва задължително да присъстват в записа са:

  • Theme Name: Twenty Twenty One Child – Име на темата – трябва да е уникално за вашата тема!
  • Template: twentytwentyone – Шаблон  името на директорията на родителската тема. Родителската тема в нашия пример е темата Twenty Twenty One, така че шаблонът ще бъде twentytwentyone.

Следващата стъпка е конфигурацията на functions.php файла. В този файл е нужно да се регистрира стила за „child“ темата и да се включи зареждането на стила на основната тема. Поставете във functions.php следните редове:

add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {

    $parenthandle = 'parent-style'; // This is 'twenty-twenty-one-style' for the Twenty Twenty One theme.
    $theme = wp_get_theme();
    wp_enqueue_style( $parenthandle, get_template_directory_uri() . '/style.css', 
        array(),  // if the parent theme code has a dependency, copy it to here
        $theme->parent()->get('Version')
    );
    wp_enqueue_style( 'my-child-style', get_stylesheet_uri(),
        array( $parenthandle ),
        $theme->get('Version') // this only works if you have Version in the style header
    );
}

my-child-style – Това ще е името за стила на child темата.

Инсталирайте „child“ темата, както инсталирате всяка друга тема.

Бележка: Ако не разполагате с нужното време за да създатете уеб сайта си, може да видите нашата услуга: изработка на уеб сайт

Share this post

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *