Crearea de teme pentru copii pentru tema dvs. WordPress

Cadrul tematic pe care l-ați construit va fi folosit ca temă parentală în site-urile pe care le dezvoltați. Acest lucru înseamnă că, în fiecare caz, va trebui să creați o temă de copil pentru a crea un site unic cu design propriu și cu funcții suplimentare sau diferite în comparație cu cadrul.

Modul evident de a face acest lucru este să vă scufundați și să începeți să creați fișiere de șabloane în tema copilului dvs. pentru a înlocui pe cele din cadrul respectiv, dar datorită acțiunilor și cârligelor de filtrare pe care le-ați adăugat în cadrul dvs., aceasta nu este întotdeauna cea mai bună abordare.

În acest articol, voi sublinia câteva dintre tehnicile pe care le puteți utiliza în temele copilului dvs. pentru a vă folosi cât mai bine cadrul dvs. și pentru a vă improviza fluxul de lucru.

Subiectele pe care le voi acoperi sunt următoarele:

  • Crearea de teme copilului starter
  • Modificarea codului prin cârligele de filtrare ale cadrului
  • Adăugarea de cod prin intermediul cârligelor de acțiune ale cadrului
  • Crearea fișierelor șablon în tema copilului tău
  • Când să utilizați în schimb un plugin

Crearea temelor copilului pentru începători

Scopul principal al dezvoltării cadrului tematic este adoptarea principiului DRY (Do not Repeat Yourself), care se aplică și temelor copilului dumneavoastră.

Acesta vă poate face mai eficient dacă creați unul sau mai multe teme de tip "starter" pentru utilizare în cadrul dvs., care conțin codul de bază de care aveți nevoie pentru a începe noi proiecte.

Când decideți cum să faceți acest lucru, luați în considerare modul în care lucrați și site-urile pe care le construiți:

  • Creați o mulțime de site-uri pentru clienți din același sector cu nevoi similare?
  • Doriți să oferiți site-uri bazate pe șabloane cu cost redus clienților mai mici?
  • Există fișiere de șablon specifice pe care le creați pentru majoritatea proiectelor dvs. noi?
  • Există funcționalități pe care trebuie să le includeți pe anumite site-uri, dar nu pe altele? (De exemplu, folosesc două teme copil pornire, una cu funcții de comentariu și una fără.)
  • Există stilistic pe care îl folosiți pentru majoritatea proiectelor sau puteți utiliza stil de orientare obiect sau un preprocesor CSS pentru majoritatea proiectelor?
  • Există biblioteci sau resurse pe care le utilizați pentru majoritatea proiectelor noi sau pentru o parte semnificativă a acestora?
  • Aveți două sau trei categorii principale pe care le puteți plasa sub proiecte, fiecare categorie implicând activități de dezvoltare similare?

Dacă ați răspuns da la oricare dintre aceste întrebări, atunci dezvoltarea uneia sau mai multor teme copilului de la începători vă poate economisi timp. Puteți crea un set de teme pentru copii cu codul de bază pe care îl repetați în toate proiectele care le utilizează și apoi nu este necesar să rescrieți acel cod (sau să creați acele fișiere) pentru fiecare proiect nou.

Notă cu privire la avertisment: dacă adăugați un cod la fiecare proiect nou, este posibil să doriți să îl adăugați în cadrul dvs. în locul temelor copilului, poate folosind un cârlig, astfel încât să îl puteți înlocui dacă apare o altă nevoie în viitor.

Chiar dacă ați răspuns nu la întrebările de mai sus, merită să creați o temă de pornire foarte bazată pe un fișier gol și un fișier de funcții și adăugând instrucțiunile pe care trebuie să le aibă WordPress pentru a accesa tema temei părinte în foaia de stil:

/ * Tema Nume: Tema Mea Tema URI Tema Copiilor: Descriere: Starter Child Tema Autor: Rachel McCollin Autor URI: http://rachelmccollin.co.uk Format: wptutsplus-theme-framework-part6 Versiune: 1.0.0 Tag-uri: Text Domeniul: tutsplus * / @import url ("... /wptutsplus-theme-framework-part6/style.css");

Câmpurile obligatorii de mai sus sunt Numele temei și Format, restul sunt opționale. Asigurați-vă că pentru Format, utilizați directorul temei cadru, nu numele acestuia. Este de asemenea util să completați celelalte câmpuri ca fiind relevante pentru tema dvs..

@import declarația este de asemenea importantă dacă doriți să încărcați foaia de stil a cadrului. Atâta timp cât plasați acest lucru deasupra oricărui alt CSS, acesta va încărca foaia de stil a temei părinte înainte de orice stiluri din foaia de stil a temei copilului, adică puteți adăuga și înlocui stilul din cadrul dvs. în tema copiilor, după caz.

S-ar putea să doriți să creați și un demaror functions.php fișier cu funcțiile pe care le utilizați cel mai frecvent în temele copiilor. Puteți alege apoi să eliminați oricare dintre acestea și / sau să le adăugați pentru proiecte specifice.

Codul de rectificare prin intermediul cârligelor de filtrare

Pe lângă adăugarea de stil pentru tema copilului dvs., probabil că doriți să modificați codul de ieșire de către cadrul. Cea mai ușoară modalitate de a face acest lucru este prin intermediul cârligelor de filtrare, așa că merită să le explorați mai întâi pentru a identifica dacă puteți utiliza oricare dintre acestea.

Crearea unei funcții pe care o atașați apoi la un cârlig de filtrare este mult mai eficientă decât crearea unui nou fișier șablon pentru noul cod; totuși, dacă te afli în mod repetat cu același cârlig de filtrare, ar trebui să iei în considerare schimbarea cârligului de filtrare într-un cârlig de acțiune și scrierea unei noi funcții pentru fiecare proiect pe care îl activezi prin intermediul cârligului de acțiune. 

Pentru a fi mai eficient, poate doriți să creați un set de funcții relevante pe care le plasați în fișierul de funcții al diferitelor teme de pornire sau chiar să creați un plugin cu funcția pe care o activați atunci când este necesar. Voi acoperi pluginurile în detaliu mai târziu în această serie.

Am acoperit procesul de creare a cârligelor de filtrare într-o parte anterioară a acestei serii, dar pentru recaptare, atașați o funcție la un filtru utilizând add_filter () funcţie. De exemplu, pentru a modifica legătura și numele utilizate în colophon-ul site-ului meu, creez două funcții după cum urmează:

funcția wptp_amend_colophon_name () $ name = 'Rachel McCollin'; returnați $ name;  add_filter ('wptp_colophon_name', 'wptp_amend_colophon_name'); funcția wptp_amend_colophon_link () $ link = 'http://rachelmccollin.co.uk'; returnați $ link;  add_filter ('wptp_colophon_link', 'wptp_amend_colophon_link');

Acestea se cuplează în două filtre în tema mea: wptp_colophon_name și wptp_colophon_link, și să schimbe ceea ce este produs de fiecare dintre ele.

Adăugarea de cod prin intermediul cârligelor de acțiune

Tema dvs. cadru va avea, de asemenea, cârlige de acțiune pe care le puteți utiliza pentru a insera conținut în diferite locuri din site-urile dvs..

Dacă ați lucrat la fișierele de cod pentru cadrul cuprins în această serie de tutori, veți avea șapte cârlige de acțiune pentru a lucra cu:

  • înaintea antetului
  • în interiorul antetului
  • înainte de conținut
  • după conținut
  • în bara laterală
  • în subsol
  • după subsol.

De exemplu, spuneți că doriți să adăugați un buton de apel la acțiune în bara laterală. Ai putea crea un nou sidebar.php fișier, dar ar fi mai eficient doar să folosiți wptp_sidebar cârlig în loc.

Pentru a face acest lucru, creați un functions.php fișier în tema copilului dvs. și adăugați următoarele:

funcția wptp_cta () ?> 

Trimiteți-ne un e-mail pe [email protected]

wptp_cta () funcția creează marcajul pentru apelul la acțiune și ADD_ACTION () funcția o arde prin intermediul wptp_sidebar cârlig cu o prioritate de 1 astfel încât să apară înainte de orice alt conținut activat prin intermediul acestui cârlig.

Există o mulțime de alte conținuturi pe care le puteți adăuga utilizând cârligele de acțiune, cum ar fi butoanele de distribuire deasupra sau dedesubtul conținutului, conținutul suplimentar din subsol, o casetă de căutare în antet și multe altele.

S-ar putea să doriți doar să adăugați conținut pe anumite tipuri de pagini, cum ar fi postări unice în blog, caz în care cel mai evident loc de început ar fi crearea unei noi single.php șablon. Dar puteți utiliza în continuare cârligele de acțiune cu adăugarea unei etichete condiționate:

funcția wptp_after_single_posts () if (is_singular ('post')) ?> 

Bucurați-vă de asta? Încercați să citiți mai mult!

Aceasta ar crea o interogare nouă (folosind WP_Query) care afișează o listă cu cele mai recente postări de pe blog, pentru a încuraja vizitatorii să citească altceva după ce au terminat o postare pe blog. is_singular ('post') eticheta condiționată garantează că aceasta este trimisă numai pentru posturile individuale și prin atașarea acesteia la wptp_after_content cârlig, îl veți afișa după conținutul postului principal.

Crearea de noi fișiere de șabloane

În mod ocazional, nu veți putea să faceți ceea ce doriți utilizând filtrul sau cârligele de acțiune din cadrul dvs., caz în care va trebui să creați fișiere noi de șabloane în temele copilului dvs..

Acestea ar putea fi aceleași fișiere șablon care sunt stocate în cadrul dvs., caz în care fișierele din tema copiilor le vor înlocui. Sau ar putea fi fișiere de șabloane noi, de exemplu pentru o nouă categorie, o taxonomie sau un tip de postare.

Dacă creați fișiere de șabloane în temele copilului dvs., lucrurile facilitează dacă utilizați fișierele șablon în cadrul dvs. ca punct de plecare. Pașii pe care îi urmez sunt:

  1. Identificați fișierul șablon pe care trebuie să-l creați referindu-vă la ierarhia șablonului WordPress
  2. Creați un fișier gol cu ​​numele corespunzător în tema copilului dvs.
  3. Identificați fișierul din cadrul dvs. cel mai apropiat de fișierul nou (din nou cu referire la ierarhia șablonului)
  4. Copiați conținutul acestuia în fișierul dvs. nou
  5. Faceți modificări la noul dosar, după cum este necesar.

Acest lucru vă salvează munca de duplicare a oricărui cod care va fi comun între fișierul dvs. nou și fișierele existente în cadrul dvs., cum ar fi apelurile pentru a include fișierele.

Când să utilizați un plugin în schimb

O altă opțiune pe care o aveți atunci când creați site-uri bazate pe cadrul dvs. este să utilizați pluginurile împreună cu temele copiilor. Un plugin nu va înlocui complet tema copilului, dar poate fi util în următoarele situații:

  • Funcția pe care doriți să o adăugați nu este dependentă de temă (adică doriți să o păstrați dacă site-ul va schimba vreodată tema în viitor). Aceasta ar putea include înregistrarea tipurilor personalizate de posturi sau a taxonomiilor, de exemplu.
  • Doriți să utilizați această funcție pe un număr de site-uri pe care le creați, dar nu este suficient pentru ca aceasta să intre într-o temă de copil starter sau cadrul în sine.

Voi acoperi dezvoltarea pluginurilor pentru cadrul dvs. în următoarea parte a acestei serii.

rezumat

Tema dvs. cadru este doar punctul de plecare al unei biblioteci de cod și fișiere pe care le veți crea pentru a sprijini site-urile pe care le dezvoltați. Fiecare site pe care îl creați va trebui să ruleze pe o temă copilărească, care va avea tema cadru ca și părinte.

După cum am văzut, temele copiilor dvs. vor adăuga stilul și funcționalitatea proprie și pot face acest lucru prin accesarea acțiunilor și a cârligelor de filtrare în cadrul dvs. sau prin crearea de noi fișiere șablon. Este întotdeauna o idee bună să adoptați soluția care necesită cel mai mic cod, deoarece acest lucru face site-ul dvs. mai rapid și viața mai ușoară!

Cod