Articles

WordPress.org (Română)

Posted by admin

o temă pentru copii vă permite să modificați aspecte mici ale aspectului site-ului dvs., dar să păstrați aspectul și funcționalitatea temei. Pentru a înțelege cum funcționează temele copilului, este mai întâi important să înțelegeți relația dintre temele părinte și copil.

ce este o temă părinte? #Ce este o temă părinte?

o temă părinte este o temă completă care include toate fișierele șablon WordPress necesare și activele pentru tema să funcționeze., Toate temele-cu excepția temelor pentru copii-sunt considerate teme pentru părinți.

Top

ce este o temă pentru copii? #Ce este o temă copil?

după cum este indicat în prezentare generală, o temă copil moștenește aspectul temei părinte și toate funcțiile sale, dar poate fi folosit pentru a face modificări la orice parte a temei. În acest fel, personalizările sunt păstrate separat de fișierele temei părinte. Utilizarea unei teme copil vă permite să actualizați tema părinte fără a afecta personalizările pe care le-ați făcut pe site-ul dvs.,

teme Copil:

  • asigurați-vă modificări portabil și reproductibile;
  • ține de personalizare separat de părinte tema funcții;
  • permite părinte teme să fie actualizat, fără a-ți distruge modificări;
  • vă permit să profite de efort și de testare a pus în temă părinte;
  • salvare pe timp de dezvoltare din moment ce nu sunt recrearea roata; și
  • sunt o modalitate foarte bună de a începe învățarea despre dezvoltarea temă.,Notă: Dacă faceți personalizări extinse-dincolo de stiluri și câteva fișiere tematice – crearea unei teme părinte ar putea fi o opțiune mai bună decât o temă copil. Crearea unei teme părinte vă permite să evitați problemele cu codul depreciat în viitor. Acest lucru trebuie decis de la caz la caz.

Top

cum se creează o temă pentru copii #cum se creează o temă pentru copii

creați un dosar pentru teme pentru copii #1. Creați un folder tematic pentru copii

Mai întâi, creați un folder nou în directorul teme, situat la wp-content/themes.

directorul are nevoie de un nume., Este cea mai bună practică pentru a da o temă copil același nume ca părinte, dar cu -child anexat la sfârșitul anului. De exemplu, dacă ați făcut o temă copil de twentyfifteen, atunci directorul ar fi numit twentyfifteen-child.

Top

creați o foaie de stil: stil.css #2. Creați o foaie de stil: stil.css

apoi, va trebui să creați un fișier de stil numit style.css, care va conține toate regulile și declarațiile CSS care controlează aspectul temei dvs., Foaia dvs. de stil trebuie să conțină comentariul antetului necesar de mai jos în partea de sus a fișierului. Acest lucru spune WordPress informații de bază despre tema, inclusiv faptul că este o temă copil cu un anumit părinte.

extindeți codul sursă completcolapse codul sursă complet

următoarele informații sunt necesare:

  • nume temă – trebuie să fie unic pentru tema
  • șablon – numele directorului temă părinte. Tema părinte în exemplul nostru este tema douăzeci și cincisprezece, astfel încât șablonul va fi twentyfifteen., Este posibil să lucrați cu o temă diferită, deci ajustați în consecință.

adăugați informațiile rămase, după caz. Singurul fișier temă copil necesar este stilul.css, dar funcții.php este necesar pentru a inqueue stiluri corect (de mai jos).

Top

foaie de stil Enqueue # 3. Enqueue stylesheet

ultimul pas este de a enqueue părinte și copil foi de stil temă, dacă este necesar.

Notă: În trecut, metoda comună a fost de a importa tema părinte stil folosind @import interior style.css., Aceasta nu mai este practica recomandată, deoarece crește timpul necesar încărcării foilor de stil. În plus, este posibil ca foaia de stil părinte să se încarce de două ori.modul ideal de a inqueuing foi de stil este pentru tema părinte pentru a încărca atât (părinte și copil), dar nu toate temele face acest lucru. Prin urmare, trebuie să examinați codul temei părinte pentru a vedea ce face și pentru a obține numele mânerului pe care îl folosește tema părinte. Mânerul este primul parametru al wp_enqueue_style().,

există câteva lucruri de reținut:

  • tema copil este încărcată înainte de tema părinte.
  • totul este conectat la o acțiune cu prioritate (implicit este 10), dar cele cu aceeași prioritate rulează în ordinea în care au fost încărcate.
  • pentru fiecare mâner, doar primul apel către wp_enqueue_style() este relevant (altele ignorate).
  • parametrul de dependență al wp_enqueue_style() afectează ordinea încărcării.
  • fără un număr de versiune, vizitatorii site-ului vor primi orice browser-ul lor a memorat în cache, în loc de noua versiune.,
  • folosind o funcție pentru a obține versiunea temei va returna versiunea temei active (copil dacă există un copil).
  • funcțiile numiteget_stylesheet* căutați mai întâi o temă copil și apoi părintele.

recomandat de enqueuing foile de stil este de a adăuga un wp_enqueue_scripts acțiune și de a folosi wp_enqueue_style() în temă copil e functions.php.
dacă nu aveți unul, creați un functions.php în directorul temei copilului dvs., Prima linie a temei copilului dvs. functions.phpva fi o etichetă PHP de deschidere (<?php), după care puteți scrie codul PHP în funcție de ceea ce face tema părinte.dacă tema părinte încarcă ambele foi de stil, tema copil nu trebuie să facă nimic.

Dacă tema părinte sarcini stilul său folosind o funcție începând cu get_template, cum ar fi get_template_directory() și get_template_directory_uri(), tema copilului are nevoie pentru a încărca doar copilul stiluri, folosind părinte mâner în dependență parametru.,

Dacă tema părinte sarcini stilul său folosind o funcție începând cu get_stylesheet, cum ar fi get_stylesheet_directory() și get_stylesheet_directory_uri(), tema copilului are nevoie pentru a încărca ambele părinte și copil foi de stil. Asigurați-vă că utilizați același nume de mâner ca părintele pentru stilurile părinte.

extindeți codul sursă completcolapse codul sursă complet

Top

instalați tema copilului # 4. Instalați tema copilului

Instalați tema copilului pe măsură ce instalați orice altă temă., Aveți posibilitatea să copiați folderul de la site-ul folosind FTP, sau pentru a crea un fișier zip de tema copilului folder, alegeți opțiunea de a menține structura de foldere, și faceți clic pe Aspect > Teme > Add New pentru a încărca fișierul zip.

Top

Activați tema copilului # 5. Activați tema copilului

tema copilului dvs. este acum pregătită pentru activare. Conectați-vă la site-ului dvs. în Ecranul de Administrare, și du-te la Ecranul de Administrare > Aspectul > Teme., Ar trebui să vedeți tema copilului dvs. listată și pregătită pentru activare. WordPress este activată pe mai multe site-uri, atunci poate fi necesar să comutați la ecranul de administrare a rețelei pentru a activa tema (în fila ecran teme administrator rețea). Puteți apoi să reveniți la ecranul de administrare WordPress specific site-ului dvs. pentru a activa tema copilului.notă: poate fi necesar să salvați din nou meniul din aspect > meniuri și opțiuni tematice (inclusiv imagini de fundal și antet) după activarea temei copil.,

Sus

Adăugarea de Fișiere Șablon #Adăugarea de Fișiere Șablon

Alte decât functions.php fișier (după cum sa menționat mai sus), orice fișier pe care îl adăugați la tema copilului va suprascrie același fișier în temă părinte.în cele mai multe cazuri, cel mai bine este să creați o copie a fișierelor șablon pe care doriți să le schimbați din tema părinte, apoi să faceți modificările la fișierele copiate, lăsând fișierele părinte neschimbate., De exemplu, dacă doriți să schimbați codul fișierului header.php al temei părinte, ați copia fișierul în folderul temă copil și l-ați personaliza acolo.sfat: există mai multe plugin-uri care vă permit să detectați ce șablon specific este utilizat pe pagina la care căutați.

  • ce fișier
  • ce fișier șablon vizualizez?
  • Debug Bar

De asemenea, puteți include fișiere în tema copil care nu sunt incluse în tema părinte., De exemplu, ați putea dori să creați un șablon mai specific decât se găsește în tema părinte, cum ar fi un șablon pentru o anumită pagină sau arhivă de categorii (de exemplu, Pagina-3.php s-ar încărca pentru o pagină cu ID-ul 3).

vezi pagina ierarhie șabloane pentru mai multe informații despre modul în care WordPress determină ce șablon să folosească.

Top

folosind funcții.php # folosind funcții.php

spre Deosebire de style.css, functions.php de o temă copil nu trece peste omologul său de la mamă. În schimb, este încărcat în plus față de funcțiile părintelui.,php. (Mai exact, este încărcat chiar înainte de fișierul părintelui.)

În acest fel, functions.php a unei teme copil oferă o metodă inteligentă, fără probleme de modificare a funcționalității unei teme părinte. Spuneți că doriți să adăugați o funcție PHP la tema dvs. Cel mai rapid mod ar fi să deschideți fișierul functions.php și să puneți funcția acolo. Dar asta nu este inteligent: data viitoare când tema dvs. este actualizată, funcția dvs. va dispărea., Dar există o modalitate alternativă, care este modul inteligent: puteți crea o temă copil, adăugați un fișier functions.php și adăugați funcția la acel fișier. Funcția va face exact aceeași lucrare de acolo, cu avantajul că nu va fi afectată de actualizările viitoare ale temei părinte. Nu copiați întregul conținut al funcțiilor.php temei părinte în funcții.php în tema copilului.

structura functions.php este simplă: o etichetă PHP de deschidere în partea de sus și sub ea, biți dvs. de PHP. În ea puteți pune cât mai multe sau cât mai puține funcții doriți., Exemplul de mai jos arată un elementar functions.php fișier care face un lucru simplu: adaugă un link favicon la elementul cap de pagini HTML.sfat: faptul că funcțiile unei teme pentru copii.php este încărcat mai întâi înseamnă că puteți face funcțiile de utilizator ale temei dvs. conectabile— adică înlocuibile de o temă copil-declarându-le condiționat.

if ( ! function_exists( 'theme_special_nav' ) ) { function theme_special_nav() { // Do something. }}

În acest fel, o temă copil poate înlocui o funcție PHP a părintelui prin simpla declarare în prealabil.,

Pentru mai multe informații despre ce să includeți în fișierulfunctions.php tema copilului dvs., citiți pagina funcții temă.

Top

referențierea sau includerea altor fișiere # referențierea sau includerea altor fișiere

când trebuie să includeți fișiere care se află în structura de directoare a temei copilului dvs., va trebui să utilizați get_stylesheet_directory(). Deoarece style.css se află în rădăcina subdirectorului temei copilului dvs., get_stylesheet_directory() indică directorul temei copilului dvs. (nu Directorul temei părinte)., Pentru a face referire la directorul de teme părinte, veți folosi get_template_directory () în schimb.

mai Jos este un exemplu care ilustrează modul de utilizare get_stylesheet_directory() când referire la un fișier stocat în tema copilului director:

<?php require_once( get_stylesheet_directory(). '/my_included_file.php' ); ?>

între Timp, acest exemplu utilizează get_stylesheet_directory_uri() pentru a afișa o imagine care este stocată în /images folder în tema copilului director.,

<img src="https://developer.wordpress.org/themes/advanced-topics/child-themes/<?php echo get_stylesheet_directory_uri(); ?>/images/my_picture.png" alt="" />

Top

stiluri și scripturi #stiluri și scripturi

scripturile și stilurile ar trebui să fie fiecare cu propria funcție, iar apoi acestea ar trebui să fie înfășurate într-o acțiune. Pentru mai multe informații, citiți pagina inclusiv CSS și JavaScript.

WordPress nu va încărca automat foaia de stil pentru tema copilului tău în front-end. Mai jos este un exemplu de utilizare wp_enqueue_scripts() acțiune cârlig pentru a apela o funcție care enqueues copilul temă de stil.,

Top

considerații speciale #considerații speciale

Top

formate Post #formate Post

o temă copil moștenește formate post așa cum sunt definite de tema părinte. Dar când creați teme pentru copii, rețineți că utilizarea add_theme_support('post-formats') va suprascrie formatele definite de tema părinte, nu le va adăuga.,

Sus

Suport RTL #Suport RTL

Pentru suport pentru RTL limbi, se adaugă un rtl.css fișierul pe tema copil, care conține:

/*Theme Name: Twenty Fifteen ChildTemplate: twentyfifteen*/

Chiar dacă tema părinte nu are un rtl.css fișier, este recomandat pentru a adăuga rtl.css fișierul pe tema copil. WordPress va încărca automat fișierul rtl.css numai dacă is_rtl() este adevărat.,

Top

internaționalizare #internaționalizare

temele pentru copii pot fi pregătite pentru a fi traduse în alte limbi folosind API-ul WordPress Internationalization. Există considerente speciale privind internaționalizarea temelor copilului.pentru a internaționaliza o temă copil urmați acești pași:
1. Adăugați un director de limbi.

  • De exemplu: twentyfifteen-child/languages/

2. Adăugați fișiere de limbă.,

  • numele de fișiere trebuie să fie he_IL.po & he_IL.mo (in functie de limba), spre deosebire de plugin fișiere care sunt domain-he_IL.xx.

3. Încărcați o domeniu_text

  • Utilizarea load_child_theme_textdomain() în functions.php în timpul after_setup_theme acțiune.
  • domeniul de text definit în load_child_theme_textdomain () trebuie folosit pentru a traduce toate șirurile din tema copilului.

4. Utilizați funcțiile GetText pentru a adăuga suport i18n pentru siruri de caractere.,

Example: textdomain # Example: textdomain

în acest moment, șirurile din tema copil sunt pregătite pentru traducere. Pentru a se asigura că sunt internaționalizate corespunzător pentru traducere, fiecare șir trebuie să aibă twentyfifteenchild textdomain.

Sus

Exemplu: gettext funcții #Exemplu: gettext funcții

Aici este un exemplu de ecou sintagma „Codul este Poezie”:

<?phpesc_html_e( 'Code is Poetry', 'twentyfifteenchild' );?>

textul domeniu definit în load_child_theme_textdomain() ar trebui să fie folosit pentru a traduce toate siruri de caractere în tema copilului., În cazul în care un fișier șablon de la părinte le-a fost inclus, textdomain ar trebui să fie schimbat de la cel definit în tema părinte la cel definit de tema copil.

Leave A Comment