Dobrodošli u sljedeći članak iz serije WordPress Savjeti & Trikovi — namijenjen početnicima, vlasnicima DIY stranica i developerima koji žele razumjeti WordPress na pravi način. Danas ćemo se pozabaviti temom koju bi svaki WordPress korisnik trebao rano savladati – child tema u WordPressu:
🚀 Zašto korištenje Child Theme nije opcionalno — već je obavezno za sigurno prilagođavanje
Ako direktno uređujete svoju temu (CSS, PHP, predloške, funkcije), vaše promjene će biti izbrisane pri sljedećoj nadogradnji.
Child tema to sprječava dajući vam zaštićeni prostor za dodavanje i nadjačavanje koda bez diranja originalnih datoteka teme.
🔧 Što je zapravo Child tema
Child tema je mala tema koja nasljeđuje sve iz vaše glavne (parent) teme i onda dodaje vaše promjene.
Može:
- Dodavati nove funkcije
- Nadjačavati postojeće funkcije
- Zamijeniti predloške
- Dodavati CSS/JS
- Modificirati hookove
- Prilagoditi layout, izlaz, HTML strukturu
Ključan je WordPressov redoslijed učitavanja:
👉 functions.php child teme se učitava PRVI
👉 functions.php parent teme se učitava NAKON
👉 Predlošci: child nadjačava parent po nazivu datoteke
To omogućuje sigurno nadjačavanje.
📁 Osnovna struktura Child Theme (Parent tema = “mytheme”)
style.css
/*
Theme Name: MyTheme Child
Template: mytheme
Version: 1.0.0
*/functions.php (ispravan način za učitavanje stilova parent teme)
<?php
function mytheme_child_enqueue_assets() {
wp_enqueue_style(
'mytheme-parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'mytheme-child-style',
get_stylesheet_uri(),
['mytheme-parent-style']
);
}
add_action('wp_enqueue_scripts', 'mytheme_child_enqueue_assets'); 🧩 1) Pluggable funkcije (Nadjačavanje funkcija)
Pluggable funkcije su funkcije parent teme omotane u:
if ( ! function_exists('function_name') ) {
function function_name() {
// parent logika
}
} To znači:
Parent definira funkciju samo ako već ne postoji.
Budući da se child tema učitava prva, definiranje vlastite funkcije ima prioritet.
Parent vidi vašu funkciju i preskače svoju verziju.
✔️ Primjer – nadjačavanje parent funkcije
Parent tema:
if ( ! function_exists('mytheme_render_header') ) {
function mytheme_render_header() {
echo "<h1>Zadani header</h1>";
}
} Child tema:
function mytheme_render_header() {
echo "<h1>Custom header from child theme</h1>";
}WordPress učitava datoteku child teme, funkcija već postoji → parent neće definirati svoju verziju.
Ovo je najsigurniji i najčišći način zamjene funkcionalnosti.
🔄 2) Nadjačavanje pomoću Hookova (Actions & Filters)
Hookovi daju finu kontrolu bez potrebe za zamjenom cijelih funkcija ili predložaka.
Omogućuju vam da:
- uklonite ponašanje parent teme
- dodate svoje ponašanje
- modificirate izlaz
- promijenite redoslijed elemenata
- ubacite vlastiti markup
Hookovi su dvije vrste:
Actions
Ubacuju ponašanje (npr. ispis HTML-a, učitavanje skripti).
Filters
Modificiraju vrijednosti (npr. promjena naslova, prilagodba klase, prepisivanje teksta).
✔️ Primjer – uklanjanje parent action & dodavanje vlastite
Parent tema:
add_action('wp_footer', 'mytheme_footer_info');
function mytheme_footer_info() {
echo "<p>Powered by MyTheme</p>";
} Child tema:
function mytheme_child_customize_footer() {
// ukloni parent footer action
remove_action('wp_footer', 'mytheme_footer_info');
// dodaj svoju verziju
add_action('wp_footer', 'mytheme_child_footer_info');
}
add_action('init', 'mytheme_child_customize_footer');
function mytheme_child_footer_info() {
echo "<p>Prilagođeni footer tekst iz child teme.</p>";
} Ovo je izuzetno moćno i ne zahtijeva nikakve predloške za nadjačavanje.
📄 3) Nadjačavanje predložaka (Potpuna zamjena layouta)
Ova metoda zamjenjuje cijele predloške iz parent teme.
Ako parent tema ima:
mytheme/
header.php
footer.php
single.php
page.php
template-parts/
content.phpMožete kopirati bilo koju datoteku u isti relativni direktorij unutar child teme:
mytheme-child/
single.phpWordPress će automatski koristiti verziju iz child teme.
✔️ Primjer – nadjačavanje parent predloška
Korak 1:
Kopirajte single.php iz parent teme:
mytheme/single.php → mytheme-child/single.php Korak 2:
Uredite prema potrebi:
<?php
get_header();
?>
<h1 style="color: red;">Custom SINGLE predložak iz child teme</h1>
<?php
// Ostatak predloška…
get_footer(); To je to.
Vaša verzija potpuno zamjenjuje parent predložak.
🎯 Sažetak — Kada koristiti koju metodu
✔️ Korisiti pluggable funkcije
Kada želite potpuno zamijeniti funkciju koju parent tema omogućuje da se sigurno nadjača.
✔️ Korisiti hookove
Kada želite modificirati ili zamijeniti dio ponašanja bez diranja predložaka.
✔️ Korisiti nadjačavanje predložaka
Kada želite promijeniti HTML strukturu, markup, layout ili logiku predloška.
✔️ Uvijek koristiti Child temu
Ako dodajete kod, logiku, predloške ili bilo kakve izmjene na razini datoteka.

