Ai plătit pentru modificări pe site. La prima actualizare dispar

O mână desprinde o foaie transparentă pe care scrie „MODIFICĂRI” de pe un document aflat pe un birou într-un birou luminat de soare, cu calculatoare și hârtii în fundal.

Cuprins

Un cabinet stomatologic din Oradea a plătit acum doi ani pentru câteva modificări pe site: o secțiune de programare în antet, prețurile afișate altfel pe pagina de servicii, un formular scurtat. Anul trecut, tema a primit o actualizare de securitate. Administratorul a apăsat butonul, cum e corect să facă. Luni dimineață antetul era cel standard, formularul cerea din nou opt câmpuri, iar prețurile arătau ca înainte de intervenție.

Nu s-a pierdut nimic din conținut. S-au pierdut modificările, pentru că fuseseră scrise direct în fișierele temei, iar actualizarea le-a înlocuit cu versiunea originală. Mecanismul care previne asta se cheamă temă copil și există în WordPress de peste cincisprezece ani.

Ce este o temă copil, fără metafore

O temă copil este un folder separat care conține doar diferențele față de tema principală. Culorile pe care le-ai schimbat, fișierul de subsol pe care l-ai rescris, funcția pe care ai adăugat-o. Restul, adică nouăzeci și cinci la sută din site, vine în continuare din tema principală.

Când tema principală se actualizează, folderul ei se înlocuiește integral. Folderul temei copil nu e atins de nimeni. Modificările supraviețuiesc, iar site-ul primește corecțiile de securitate. Asta e tot. Nu e o optimizare, e condiția în care actualizarea și personalizarea pot coexista.

Cele două fișiere de care ai nevoie

Fișierul de stiluri

În wp-content/themes/ creezi un folder nou, cu un nume propriu. Înăuntru pui un fișier style.css care începe cu un antet de forma:

/*
Theme Name: Nume tema copil
Template: numele-folderului-temei-principale
*/

Câmpul Template trebuie să conțină exact numele folderului temei principale, literă cu literă. O singură diferență și WordPress nu recunoaște legătura, iar tema copil nu se poate activa. Atenție și la antetul acesta: se scrie doar cu litere fără diacritice, pentru că diacriticele într-un fișier de temă strică afișarea în panoul de administrare.

Fișierul de funcții

Al doilea fișier este functions.php și are o singură sarcină la început, aceea de a încărca stilurile temei principale înaintea celor proprii. WordPress nu le moștenește automat, contrar a ceea ce cred mulți.

function tema_copil_stiluri() {
    wp_enqueue_style( "stil-parinte", get_template_directory_uri() . "/style.css" );
    wp_enqueue_style( "stil-copil", get_stylesheet_uri(), array( "stil-parinte" ), "1.0" );
}
add_action( "wp_enqueue_scripts", "tema_copil_stiluri" );

Numărul de versiune de la final, aici 1.0, pare un detaliu. Nu este. Fără el, browserul păstrează versiunea veche a stilurilor și vei crede că modificările nu s-au aplicat, când de fapt s-au aplicat și nu le vezi. Îl crești de fiecare dată când schimbi ceva.

Ai nevoie de temă copil?

Alege ce descrie situația ta.


Când nu îți trebuie temă copil

Regula nu e universală, iar aplicarea ei mecanică adaugă complexitate degeaba. Pentru câteva schimbări de culoare, panoul Personalizare are o secțiune de CSS suplimentar care se păstrează la actualizări. Pentru o funcție izolată, un modul de fragmente de cod face aceeași treabă și nu depinde de temă deloc, ceea ce e chiar un avantaj dacă schimbi tema peste doi ani.

Temele de tip bloc, cele care se editează vizual din panou, schimbă complet discuția. Acolo modificările se salvează în baza de date, nu în fișiere, deci actualizarea temei nu le atinge. Site-urile noi pe care le construim merg pe teme de tip bloc tocmai din motivul ăsta, printre altele.

Ce întrebi înainte să semnezi

Dacă cineva îți construiește site-ul, întrebarea de pus nu este dacă folosește temă copil, ci unde ajung modificările făcute pentru tine. Răspunsul „în tema copil”, „în fragmente de cod salvate separat” sau „în editorul vizual” sunt toate în regulă. Răspunsul „direct în temă” înseamnă că plătești pentru o lucrare cu termen de expirare, iar termenul e prima actualizare.

A doua întrebare, la fel de utilă: dacă mâine schimb firma cu care lucrez, ce ia cu el cel care vine după? Modificările documentate și separate se preiau într-o oră. Cele împrăștiate prin fișierele temei se refac de la zero, pe banii tăi.

Cum te poate ajuta Emblematic

Construim site-uri în care personalizările stau separat de tema principală, tocmai ca actualizările de securitate să nu ceară nimănui să aleagă între un site sigur și un site care arată cum a fost plătit. Pentru site-urile existente, verificăm unde au ajuns modificările anterioare și le mutăm acolo unde rezistă.

Dacă amâni actualizările de teamă că se strică ceva, echipa Emblematic.ro este disponibilă pentru o consultație fără obligații. Contactează-ne și stabilim împreună pașii următori.

Share: