WordPress da la autori abilitatea sa aloce campuri personalizate in postari. Aceasta informatie extra este cunoscuta ca meta-data. Meta-data pentru postarile personalizate poate fi, cum WordPress Codex indica, o informatie precum un status de dispozitie sau ceea ce asculti in acel moment. In ultima vreme, campurile personalizate au permis utilizatorilor sa isi faca propriul blog mult mai aratos, precum si complet personalizat prin extinderea postarilor, mult mai mult decat inainte. Aceste campuri, cum multi si-au dat deja seama, pot fi extinse pentru a include mai mult decat doar meta-data.

Acest articol va fi despre diferite metode pentru implementarea campurilor personalizate cat si un tutorial despre cum sa creezi campuri personalizate WordPress pornind de la o schita.

Exemple

Pentru a incepe, trebuie sa afli ce este cu adevarat un camp personalizat. Si care este calea cea mai buna decat aceea de a vedea niste exemple ?

Campurile personalizate pot include aproape orice valoare posibila daca este implementata in mod corect. Cateva exemple pot include, dar nu sunt limitate doar la asta:

  • Miniaturi personalizate
  • Actualizari de status
  • Link-uri avansate
  • Titluri sau Subtitluri
  • Informati despre autor
  • Starea vremii
  • Data si ora personalizata
  • multe altele!

Daca arunci o privire peste fereastra de admin din WordPress vei nota ca atunci cand faci click pe Add New din meniul Posts, un camp de sub spatiul continutului de text se numeste Custom Fields (campuri personalizate). Este sansa sa nu vezi aceasta caracteristica. In acest caz, din partea de sus-dreapta a ferestrei fa click pe Screen Options. De acolo asigura-te ca optiunea Custom Fields este selectata. Odata selectata ar trebuii sa o vezi in partea de jos a ecranului precum in poza de jos.

Sectia de campuri personalizate contine doua campuri de input etichetate Name si Value. Numele de obicei este un identificator care odata folosit, declanseaza WordPress sa afiseze continutul in campul valorii.

Un exemplu poate fi Name: contact-link, si Value: Contact us.

Odata adaugat campul personalizat ar trebuii sa fie afisat intr-o zona pre-definita a temei tale WordPress. Aminteste-ti: campurile personalizate nu  sunt afisate in mod implicit daca tema ta nu a fost personalizata sa faca asta. Iti voi arata cum sa faci asta imediat.

Plugins

Exista cateva plugin-uri foarte bune care pot gestiona toate functionalitatile unui camp personalizat. Am adunat cateva din preferatele mele pe care eu le folosesc.

Advanced Custom Fields

Advanced Custom Fields este un plugin construit de dezvoltatorii WordPress. Chiar daca acest plugin face partea cea mai mare, tu tot va mai trebuii sa editezi cate ceva din fisierul sablon pentru a-l include in Custom Fields. Decat sa scrii coduri pornind de la o schita, acest plugin iti ofera un proces simplu pentru a crea ce, cum si unde vrei campul tau personalizat sa apara. Ca exemplu, sa zicem ca vrei ca un specific tip de articol sa afiseze doar anumite informatii cand este postat intr-o categorie specifica. Cu acest plugin, pot seta ca atunci cand selectezi o categorie din spatiul de admin sa apara o intreaga noua interfata ce iti permite sa personalizezi ce meta-data vrei fie incluse precum poze, miniaturi, titluri, link-uri si altele. Zic doar in mare ceea ce acest plugin este capabil sa faca. Verifica-l si vezi si tu ce poate face. Site-ul lor face de asemnea o treaba buna explicand ceea ce plugin-ul este si ceea ce poate face.

Pods

Pods este o retea de creare, gestionare si dezvoltare tipuri de continut si campuri personalizate. Pune la dispozitie un procedeu care te va ajuta sa iti contruiesti propriile tipuri de articole si campuri personalizate fara ca tu sa atingi nici macar un cod. Pods se aplica chiar si tipurilor de articole deja construite, campurile personalizate sau altele. Acest plugin iti permite sa personalizezi aproape orice aspect al themei tale. Zonele de Contul utilizatorului, Codurile scurte, Widgets si multe alte pot fi vizate pentru a creea o experienta unica fiecaruria utilizator al tau.

Types

Types este un plugin care ofera tipuri de articole personalizate, si campuri cu totul particulare. Plugin-ul este parte dintr-o familie de plugin-uri care ofera abilitatea de a dezvolta si personaliza oricare tema WordPress fara nevoia de a atinge o singura linie de cod PHP. Setarile sunt minunate iar cu acest plugin te poti intoarce inapoi foarte usor. Modelele ofera de asemenea tipuri repetabile de articole ce iti ofera o personalizare infinita temei tale.

Extinde-ti tema cu campurile personalizate

Pentru inceput este bine sa ai publicate cateva campuri personalizate in unul sau mai multe articole din blog. Mai jos vezi un model de articol ce l-am creat folosind tema Divi 2.0.

Iata articolul vazut din admin:

Am inclus ceva continut, un titlu si vei vedea ca am adaugat un camp personalizat. Am folosit author-link ca input pentru Name si Andy Leverenz ca input pentru Key. Planul este sa adaug un mic detaliu pentru a aduce aminte utilizatorilor cine a scris articolul dupa fiecare postare din aceasta tema.

Asa arata rezultatul :

In momentul de fata poti vedea rezultatul la continut si la titlu, dar nu si valorile pentru campul nostru personalizat. Pentru a putea afisa aceaste valori, va trebuii sa adaugam un mic cod PHP in funtia  WordPress din codul temei noastre.

Hai sa vedem cum.

Daca esti obisnuit sa editezi unele coduri ale temei tale, exista posibilitatea sa definesti propriul camp personalizat din tema WordPress. Pentru a porni iti trebuie un editor de coduri si sa aceesezi adresa temei tale care este alocata in wp-content/themes/tema-ta.

Deschide intregul dosar ce contine tema ta cu un editor de coduri. Va trebuii sa gasesti punctu din care incepe bucla principala de WordPress. In cazul meu foloesc tema Divi 2.0 din libraria Elegant Themes.

Daca ai nevoie de o reimprospatare despre cum arata o bucla WordPress, poti citii mai multe pe WordPress Codex sau sa arunci o privire peste codul de mai jos:

# The WordPress Loop
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
// Your Code/Content Here
<?php endwhile; else: ?>
<?php endif; ?>

Codul de mai sus este esentialul despre faimoasa bucla WordPress. Daca urmaresti si ai thema Divi instalata vei observa acelasi cod in bucla. Acest continut si cod este ceea ce genereaza postarile pentru a aparea dinamic pe site.

In momentul in care vreau sa adaug o mica informatie in plus despre autorul fiecarei postare dupa fiecare din ele, va trebuii sa gasesc sfarsitul buclei si acolo sa adaug codul de mai jos.

<div class="author-blurb">
 <p>This post was written by : <?php echo get_post_meta($post->ID, 'author-link', true); ?> </p>
</div>

Bucla poate fi gasita in diferite fisiere. Fisierul index.php iti afiseaza in mod particular postarile ca extrase, si cand faci click pe ele te va duce catre bucla fisierului single.php. Fisierul single.php afiseaza in mod general o postare pe intreg. Atata timp cat nu vrem sa avem campul nostru personalizat vizibil pe pagina principala, voi include codul de mai sus doar in fisierul single.php. L-am trecut la sfarsitul buclei.

Acum articolul arata cam asa:

Daca te uiti atent vei nota prezenta campului nostru personalizat la sfarsitul continutului din articol. Uite-te dupa linia care spune “Acest post a fost scris de: …”

Am adaugat cu succes un camp personalizat. Hai sa ne asiguram ca functioneaza mai departe si sa creem un nou articol. De dragul conciziei, voi folosi un nume alternativ pentru numele autorului.

Iata noul nostru articol vazut din admin:

Input-ul pentru Name este inca odata author-link si Key este acum : John Doe.

Cand apasam pe butonul Publica, continutul nostru va fi trimis in baza de date iar rezultatul va aparea pe pagina web. Daca intri sa vezi ultimele postari publicate vei vedea continutul, titlul si campul nostru personalizat afisat in mod corect.

Stilizare

Pentru a face campul nostru personalizat mai vizibil voi adauga putin cod CSS pentru a spatia mai bine lucrurile si pentru a obtine o vedere mai atractiva.

Adauga acest cod CSS in fisierul tau daca urmaresti si tu exemplu.

.author-blurb {
 border-top: 1px solid #e2e2e2;
 font-size: 16px;
 margin-top: 2em;
 padding-top: 1em;
}

Cu stilul aplicat, informatia nostra despre autor va aparea in continuare pe fiecare post cam asa:

Extinde si mai mult

Necesitatea poate veni pentru tine din nevoia de a prevedea campuri personalizate pentru valori multiple. Sa zicem un grup de poze sau melodii de exemplu. In panoul campului personalizat poti adauga ori cat de multe ai vrea. Atata timp cat numele campului personalizat este acelasi poti chiar si afisa grupuri cu campurile personalizate printr-o linie simpla de cod.

Hai sa incercam:

Am creat un articol nou numit “Songs Named After Girls”. Am adaugat de asemenea si putin continut si 6 noi campuri personalizate.

Numele campului nostru personalizat este song-title si cheia este titlul melodiei cu artistul care a produs-o.

Acum trebuie sa includem codul pentru a afisa campul personalizat titlu-melodie in articolele noastre. Daca prevezi multe articole ca acesta poate fi o buna idee sa creezi un camp personalizat pentru a putea costrui un sablon personalizat doar pentru acest tip, dar pentru finalitatea acestui tutorial noi vom modifica din nou fisierul nostru single.php.

Deschide fisierul single.php si adauga codul de mai jos. Asigura-te ca este adaugat in zona continutului principal si inainte de informatia autorului creata mai devreme.

<?php $songs = get_post_meta($post->ID, 'song-title', false); ?>
 <ul>
 <?php foreach($songs as $song) {
 echo '<li>'.$song.'</li>';
 } ?>
 </ul>

Codul de mai sus cuprinde toate valorile de input ale campurilor personalizate si il afiseaza pentru fiecare in parte. In loc sa adaugam multiple linii PHP noi am scris un cod in asa mod incat sa fie repetat pentru fiecare camp personalizat in parte si sa le afiseze intr-o lista neordonata.

Articolul nostru va arata ca imaginea de mai jos, dupa ce il publicam:

Acest tip de cod poate fi combinat intr-o functie si mai tarziu poate fi folosit ca un Short-Code pentru a fi inclus intr-un editor principal in schimbul adaugarii codului specific in fisierul single.php. Acest tip de concept e mai bine sa il dezbatem intr-un alt articol pe blog.

Sfarsit

De acum, sper ca ai inteles putin mai bine cate ceva despre un camp personalizat si despre cum le poti folosii pentru un uz real in articolele WordPress. Multe campuri personalizate pot fi incluse in articole, pagini, sabloane personalizate si multe altele. Tine totul despre cat ai inteles integrarea lor si sa descoperi solutia cea mai buna pentru a rezolva problema. Plugin-urile de mai sus sunt capabile sa faca exact aceleasi lucruri pe care le-am demonstrat in acest tutorial si ceva in plus. Sugerez sa incerci sa adaugi ceva pe cont propriu la inceput pentru a intelege cu adevarat ce se intampla, apoi vei folosi un plugin pentru a adauga un camp personalizat in thema ta WordPress.

Sursa: http://www.elegantthemes.com

Traducere: Ovidiu Gyerko