Salt la conținut

Setări cookie-uri

Alegeți pentru fiecare tip ce cookie-uri permiteți. Puteți modifica oricând alegerea prin Setări cookie-uri, în partea de jos a fiecărei pagini. Declarație de confidențialitate

Necesare

Mereu active

Necesare pentru autentificare, pentru păstrarea coșului și pentru a vă reține alegerile. Acestea sunt mereu active.

Ce cookie-uri?
  • weboke_sessie, weboke_klant, weboke_remember: sesiunea și menținerea autentificării
  • weboke_basket: coșul de cumpărături
  • wkBtwIncl: afișarea prețurilor cu sau fără TVA
  • wok_cookies: alegerea privind cookie-urile, 12 luni

Măsoară ce reclamă duce la o vizită sau o comandă, ca să nu plătim pentru reclame care nu aduc nimic.

Ce cookie-uri?
  • Google Ads prin Google Tag Manager (_gcl_au, _gcl_aw), până la 90 de zile
  • OpenAI Ads, reclame în ChatGPT
  • wok_aff: prin ce partener ați ajuns la noi (program de afiliere), 60 de zile

4,6

Țară și limbă

Fiecare țară are propriul site, cu prețurile și TVA-ul pentru țara respectivă.

Vedeți

Crearea unei teme copil (child theme)

Modulul 5: Teme și module (pluginuri) · Timp de citire: 9 minute

Obiectiv de învățare: După această lecție veți putea crea o temă copil (child theme) și veți ști când aveți nevoie de una și când nu.

Concepte-cheie: temă copil (child theme), temă părinte, Template: în style.css, functions.php, wp_enqueue_style, suprascrierea unui șablon, theme.json într-o temă copil, Create Block Theme

Problema pe care o rezolvă o temă copil (child theme)

Să presupunem că doriți să modificați puțin antetul temei dumneavoastră clasice și, pentru asta, modificați fișierul header.php din folderul temei. Funcționează. Trei săptămâni mai târziu apare o actualizare a temei, pe care o lăsați să se instaleze automat (așa cum se procedează corect, lecția 7.2). Actualizarea înlocuiește toate fișierele temei, iar modificarea dumneavoastră dispare.

O temă copil (child theme) este o temă mică ce spune: „folosește tot ce are cealaltă temă (tema părinte), cu excepția a ceea ce am eu propriu.” Modificările dumneavoastră le puneți în tema copil. Tema părinte continuați să o actualizați normal, iar modificările dumneavoastră rămân neatinse.

Când aveți nevoie și când nu

Aveți nevoie de o temă copil dacă doriți să modificați sau să completați fișierele unei teme:

  • doriți un șablon diferit (la o temă clasică un fișier PHP, la o temă cu blocuri un șablon HTML);
  • doriți propriul CSS, prea extins pentru căsuța de CSS;
  • doriți propriul cod PHP legat de aspectul grafic (un format suplimentar de imagine, o locație suplimentară de meniu).

Nu aveți nevoie de o temă copil dacă:

  • modificați o temă cu blocuri în Editorul de site-uri: aceste modificări sunt salvate în baza de date și supraviețuiesc unei actualizări (lecția 5.1);
  • adăugați doar puțin CSS prin CSS suplimentar (în Personalizator, la o temă clasică, sau la Stiluri în Editorul de site-uri);
  • doriți să adăugați o funcție care nu are legătură cu aspectul grafic (un formular, o integrare). Aceasta se pune într-un modul (plugin), ca să supraviețuiască unei schimbări de temă.

O temă copil pentru o temă clasică

O temă copil este un folder în wp-content/themes/ cu cel puțin un fișier: style.css. Să presupunem că tema dumneavoastră părinte se află în wp-content/themes/hoofdthema/. Creați atunci un folder wp-content/themes/hoofdthema-child/ cu acest style.css:

/*
Theme Name:   Hoofdthema Child
Template:     hoofdthema
Description:  Personalizări proprii pentru example.com
Version:      1.0.0
Text Domain:  hoofdthema-child
*/

/* CSS-ul dvs. propriu apare mai jos. */
.site-header { border-bottom: 3px solid #e8a33d; }

Cel mai important rând este Template:. Acolo trebuie trecut numele folderului temei părinte (nu numele afișat în panoul de administrare). Dacă nu corespunde exact (litere mari/mici, cratime), WordPress va afișa la Aspect > Teme un mesaj că lipsește tema părinte.

Pe lângă aceasta, creați un fișier functions.php pentru a încărca foile de stil. Modul corect:

<?php
add_action( 'wp_enqueue_scripts', function () {
    wp_enqueue_style(
        'hoofdthema-child',
        get_stylesheet_uri(),
        array(),
        wp_get_theme()->get( 'Version' )
    );
} );

Dacă tema părinte își încarcă singură propria foaie de stil diferă de la o temă la alta. Consultați documentația temei dumneavoastră părinte; unele vă cer ca în tema copil să încărcați și foaia de stil a părintelui folosind get_template_directory_uri() . '/style.css'. Dacă site-ul dumneavoastră apare fără nicio formatare după activare, înseamnă că foaia de stil a părintelui nu este încărcată.

Dacă doriți să modificați un șablon, copiați acel fișier (de exemplu header.php) din tema părinte în tema copil și modificați copia. WordPress caută mai întâi în tema copil, apoi în tema părinte. Nu copiați toate fișierele: în acest caz nu veți mai beneficia de îmbunătățirile aduse de tema părinte.

functions.php al temei copil nu înlocuiește pe cel al temei părinte, ci este încărcat înainte de acesta. Ambele sunt executate.

O temă copil pentru o temă cu blocuri

La o temă cu blocuri funcționează la fel, cu fișiere de blocuri:

  • style.css cu același antet și Template:;
  • eventual un propriu fișier theme.json: acesta este combinat cu cel al temei părinte, deci introduceți doar ce doriți să modificați (de exemplu paleta de culori);
  • eventual șabloane în templates/ și parts/ care le înlocuiesc pe cele ale temei părinte.

La o temă cu blocuri, un fișier functions.php adesea nu este necesar, deoarece WordPress încarcă singur stilurile din theme.json.

Există un modul (plugin) oficial, Create Block Theme, care creează pentru dumneavoastră, din Editorul de site-uri, o temă copil, inclusiv modificările dumneavoastră din baza de date. Util dacă ați modificat o temă cu blocuri și doriți să salvați acele modificări în fișiere (de exemplu pentru a le transfera pe o altă site).

Cum o instalați pe site-ul dumneavoastră

  1. Creați folderul și fișierele pe propriul dumneavoastră calculator și verificați numele folderului temei părinte.
  2. Încărcați folderul în wp-content/themes/ cu File Manager sau prin SFTP. Sau arhivați folderul ca zip și încărcați-l la Aspect > Teme > Temă nouă > Încarcă tema.
  3. Mergeți la Aspect > Teme. Tema dumneavoastră copil apare în listă. Activați-o.
  4. Verificați site-ul dumneavoastră: meniurile și widgeturile pot necesita reconectare la trecerea la o temă copil; setările din Personalizator se aplică per temă, deci trebuie reintroduse sau exportate cu un modul (plugin).
  5. Tema părinte trebuie să rămână instalată. Nu o ștergeți; tema copil nu funcționează fără ea.

Faceți acest lucru mai întâi, de preferință, într-un mediu de testare (staging) (lecția 8.3), deoarece schimbarea temei pe o site live aglomerată poate provoca unele neplăceri temporare.

Rezumat

  • O temă copil (child theme) păstrează modificările dumneavoastră la fișierele temei în afara temei părinte, astfel încât actualizările nu le suprascriu.
  • Nu aveți nevoie de ea pentru modificări în Editorul de site-uri sau un pic de CSS suplimentar; funcțiile aparțin unui modul (plugin).
  • Minim necesar: un folder cu style.css în care Template: indică exact folderul temei părinte.
  • Copiați doar șabloanele pe care le modificați cu adevărat; functions.php al temei copil se adaugă lângă cel al temei părinte.
  • Tema părinte rămâne instalată și continuă să fie actualizată.

Test (quiz)

1. Ce trebuie trecut la Template: în style.css al unei teme copil?



2. Folosiți o temă cu blocuri și ați modificat antetul și culorile în Editorul de site-uri. Aveți nevoie de o temă copil pentru ca aceste modificări să supraviețuiască unei actualizări?



3. Doriți să adăugați o integrare cu programul dumneavoastră de contabilitate. Unde trebuie pus acel cod?



4. Ați copiat toate fișierele temei părinte în tema dumneavoastră copil „ca măsură de precauție”. Care este dezavantajul?



Exercițiu

Exercițiu A5.2: Verificarea temei dumneavoastră copil. Creați o temă copil pentru tema dumneavoastră, pe site-ul dumneavoastră de test sau în mediul de testare (staging) (lecția 8.3), și activați-o. Completați adresa site-ului și numele folderului temei copil. Programul va solicita wp-content/themes/<folder>/style.css și va verifica: fișierul există, conține un Theme Name: și un Template:, fișierul style.css al temei părinte din acel folder există de asemenea, iar pagina principală face referire la tema copil (deci aceasta este activă).

Exercițiul A5.2: Verificați-vă tema copil (child theme)



Ceea ce completați și ceea ce găsim nu se salvează. Browserul dumneavoastră reține răspunsurile și dacă ați rezolvat exercițiul. Dacă sunteți autentificat, păstrăm în Cursurile mele doar faptul că exercițiul a fost (aproape) corect; și de acolo îl puteți șterge.

Exercițiu D5.2: Ce ați modificat și de ce? Notați ce fișiere se află în tema dumneavoastră copil, ce ați modificat în fiecare fișier și de ce acest lucru nu era posibil în Editorul de site-uri, în CSS suplimentar sau într-un modul (plugin). Bifați faptul că tema părinte este încă instalată și are actualizări automate.

Exercițiul D5.2: Ce ați modificat și de ce?

Acest exercițiu îl faceți singur; nimeni nu îl verifică. Bifați ce ați făcut și marcați exercițiul ca finalizat.




Bifele și notițele dumneavoastră rămân doar în acest browser; nu le trimitem nicăieri. Dacă sunteți autentificat, păstrăm în Cursurile mele doar faptul că ați finalizat exercițiul.

Lecturi suplimentare

Aceste articole descriu pașii în panourile WebOké; în alte panouri funcționează similar.

Un moment…

Configurați domeniile

Stabiliți pentru fiecare domeniu nameserverele, legătura cu hostingul și cine devine titularul.

Se încarcă domeniile…