Как се прави дъщерна тема? (Wordpress)

След като потърсих информация за това тук във форума, но не намерих, реших да споделя една статийка писана(попреведена :mrgreen:) от мен, която се надявам да е полезна. Ако има неточности или нещо съм изпуснал - казвайте :)

Какво е дъщерна тема?

Чрез дъщерната тема може да добавяте или променяте функционалност/стил на основната тема. Промените няма да изчезнат след обновяване на родителската тема.

Как се създава дъщерна тема?

Правите нова папка в директорията с темите (wp-content/themes), като за име е прието да се изпише името на основната тема като се добави и -child. В папката, която създадохте правим нов файл style.css. Това е файла, в който ще правите промени по стила на темата. В началото поставяте следните редове, някои от тях са задължителни:
Код:
/*
 Theme Name:     име_на_дъщерна_тема
 Theme URI:      http://example.com/twenty-thirteen-child/
 Description:    описание
 Author:         автор
 Author URI:     http://example.com
 Template:       името на основната тема
 Version:        версия
*/

@import url("../основна_тема/style.css"); /* посочваме пътя до стила на основната тема */
/* =Theme customization starts here
-------------------------------------------------------------- */
Задължителни редове са Theme Name и Template, където трябва да посочите точното име на основната тема. Промените, които ще правите по стила записвате след импорта на стила от основната тема.
Сега е време да активирате дъщерната тема по познатия начин.

Как се променят други файлове освен .css файла?

За да едитните друг файл от темата просто го клонирайте в дъщерната тема и там правете промените си. По този начин може да правите промени и във файла functions.php, които няма да изчезнат след пореден ъпдейт на родителската тема.
Освен да променяте файлове от родителската тема може да създавате нови такива без те да съществуват в основната тема. Например нов template за страница или публикация.

Надявам се да помогне на някой. Разбира се всичко може да се направи с плъгин, но това е една алтернатива за създаване на дъщерна тема.
 

Torbalan Trolski

Well-Known Member
От: Как се прави дъщерна тема? (Wordpress)

Малко допълнение, желателно е да се използва кеш плъгин или поне минифай за да се махне импорта.@import-a блокира зареждането на ресурси, които иначе минават с паралелни заявки
 
От: Как се прави дъщерна тема? (Wordpress)

.. което засяга и скоростта на зареждане. Съгласен съм с теб, но навсякъде в тут. за направа на дъщерни теми се използва @import.
 
От: Как се прави дъщерна тема? (Wordpress)

Благодаря :) Да, плъгини има вече кажи-речи за всичко, нека се знае как става и без плъгин.
 

skica

New Member
От: Как се прави дъщерна тема? (Wordpress)

Търся аз инфо за дъщерна фирма, недоглеждам и бууум тука в блогове и пхп-та се натресох:)
 

lordspace

New Member
От: Как се прави дъщерна тема? (Wordpress)

Сега виждам, че някои ми е споменал плъгина за създаване на child themes :)
@import го има в WordPress кодекса. Идеята също е да може да се променят предишни CSS правила в child темата.
 

Weblion

Active Member
От: Как се прави дъщерна тема? (Wordpress)

--------------------------------
 
Последно редактирано:

Torbalan Trolski

Well-Known Member
От: От: Как се прави дъщерна тема? (Wordpress)

Темата е стара, но мисля, че тук е уместно да задам въпроса си, а именно добавяне на BG валута в Wordpress сайт/не е е-магазин/. Използвам за целта дъщерна тема, а ето и целия код, който слагам, но не ми се появява нова валута в админ панела. Ще се радвам, ако някой ми помогне. :)

P.S. Дано да не се изложа много с въпроса си. :)
Така написано се изложи яко :D

това в style.css
Код:
/*
 Theme Name:     classipress-child
 Template:       classipress

*/

@import url("../classipress/style.css");
/* =Theme customization starts here
-------------------------------------------------------------- */
а на това мястото му е във functions.php
PHP:
add_action( 'init', 'myplugin_add_currency' );
function myplugin_add_currency(){
 
    // Give your currency a name and symbol
    $args = array(
       'name' =BG; 'My Currency',
       'symbol' =bg; 'M'
    );
    // The first argument is the currency code. Usually a 3 letter code. ( BGN )
    APP_Currencies::add_currency( 'APP', $args );
 
}
 

Kiril

Active Member
От: Как се прави дъщерна тема? (Wordpress)

Благодаря за темата! Направих, както сте го описали и всичко е ОК. Но имам уточняващ въпрос.
Ако искам да променя някой php файл, пр. header.php, мога ли да копирам оригиналния, да го редактирам и да сложа копието в папката с child темата? Искам да ъпдейтвам основната тема без да променям всеки път header.php
 

Torbalan Trolski

Well-Known Member
От: Как се прави дъщерна тема? (Wordpress)

Благодаря за темата! Направих, както сте го описали и всичко е ОК. Но имам уточняващ въпрос.
Ако искам да променя някой php файл, пр. header.php, мога ли да копирам оригиналния, да го редактирам и да сложа копието в папката с child темата? Искам да ъпдейтвам основната тема без да променям всеки път header.php
Точно това е правилният начин и смисъла на дъщерните теми.
 

Горе