Noțiuni introductive cu câmpurile personalizate WordPress

Publicat: 2021-01-19

Câmpurile personalizate WordPress sunt o caracteristică foarte bună, care sunt adesea neglijate. Acestea vă permit să adăugați „metadate” într-o zonă a paginii sau postării dvs. care se repetă în toate paginile sau postările. Acest lucru vă poate economisi mult timp dacă aveți un site web pe care doriți să publicați același tip de informații pe mai multe pagini.

De exemplu, aruncați o privire la o postare obișnuită de blog pe site-ul dvs. WordPress. Şansele sunt că, undeva pe pagină, veţi vedea un nume de autor şi o dată care arată când a fost publicat articolul. Acestea sunt metadate și vor apărea pe fiecare postare de pe site-ul dvs.

Deci, cum puteți adăuga propriile metadate la postările sau paginile dvs.? Ușor... folosind un câmp personalizat WordPress!

Desigur, puteți adăuga manual aceste informații în fiecare postare prin intermediul editorului de pagini/postări, dar acest lucru necesită timp și, de obicei, necesită o formatare atentă dacă doriți să vă asigurați că toate postările arată la fel. Dacă publicați mult conținut, poate fi obositor să faceți acest lucru de fiecare dată.

Pagina WordPress și editorii de postări oferă o mulțime de funcționalități și flexibilitate imediat ce vine vorba de conținutul de bază care apare pe o pagină sau postare. Dar, știați că WordPress oferă utilizatorilor și o modalitate de a adăuga conținut care se află „în afara” conținutului postării sau paginii principale? În acest articol, vom explica rapid cum să folosiți câmpurile personalizate WordPress, care vă vor ajuta atât să vă organizați mai bine postările, cât și să adăugați informații utile pentru cititorii dvs. într-un format grozav.

Să începem!

Ce sunt câmpurile personalizate și metadatele?

Conținutul precum postările, paginile, utilizatorii, comentariile și tipurile de postări personalizate includ metadate care sunt stocate în baza de date sub tabelul postmeta într-o pereche cheie/valoare.

Informațiile pe care le vedeți de obicei sub titlul unei postări sau pagini, cum ar fi numele administratorului, data sau contorul de comentarii, sunt incluse în metadatele postării.

Câmpul personalizat este un câmp suplimentar în care puteți adăuga informații suplimentare pentru postarea dvs. și, de asemenea, face parte din metadatele postării.

Câmpurile personalizate se aplică paginilor, postărilor sau tipurilor de postări personalizate și constau și în perechi cheie/valoare. Cheia este „numele” elementului de metadate, iar valoarea este datele care se asociază cu cheia și pot diferi pentru fiecare postare.

În WordPress, puteți adăuga câmpuri personalizate utilizând caracteristica încorporată de câmp personalizat sau puteți face un pas mai departe și utilizând un plugin de câmp personalizat care va îmbunătăți și mai mult controlul disponibil asupra unui câmp personalizat. Vom analiza ambele opțiuni în acest articol.

Adăugați câmpuri personalizate folosind câmpuri personalizate WordPress

Setările încorporate pentru câmpuri personalizate WordPress sunt ascunse în mod implicit, ceea ce explică de ce este posibil să nu fi fost conștient de existența acestei funcție. Pentru a-l folosi, va trebui mai întâi să îl activăm.

Dacă utilizați editorul Classic WordPress (adică nu Gutenberg), deschideți o nouă postare și mergeți la începutul acestei postări. Veți vedea o casetă în partea dreaptă care spune „Opțiuni ecran”. Faceți clic pe acesta și va apărea un meniu derulant cu casete de selectare. În aceasta ar trebui să vedeți unul care spune „Câmpuri personalizate”. Bifați acest lucru pentru a le activa.

Dacă utilizați Gutenberg, faceți clic pe pictograma „trei puncte” care apare în partea dreaptă sus a unei postări. Va apărea un meniu și în partea de jos a acestui meniu ar trebui să scrie „Opțiuni”. Faceți clic pe acesta și va apărea un nou meniu pop-up cu casete de selectare. În această listă ar trebui să vedeți unul care spune „Câmpuri personalizate”. Bifați această casetă și apoi închideți meniul pop-up.

Următorii pași – Adăugarea câmpurilor personalizate

Adăugarea câmpurilor personalizate este de fapt destul de ușoară. După ce le-ați activat așa cum este descris mai sus, mergeți la partea de jos a postării dvs. și ar trebui să vedeți o nouă secțiune numită (ați ghicit-o) „Câmpuri personalizate”.

Veți vedea două casete în secțiunea Câmpuri personalizate, „Nume” și „Valoare”. Câmpul Nume are câteva valori implicite pre-populate care se referă la câmpurile existente care au fost adăugate pe site-ul dvs. WordPress. În cazul nostru, dorim să adăugăm propriul nostru câmp nou. Pentru a face acest lucru, faceți clic pe textul „Introduceți nou” care se află sub câmpul Nume.

Găzduiește-ți site-ul web cu Pressidium

GARANTIE 60 DE ZILE BANI RAPIS

VEZI PLANUL NOSTRU

În acest exemplu, dorim să creăm un link către un site web extern care a fost folosit ca sursă pentru un articol pe care l-am scris. Vom numi acest câmp „Sursă”. Faceți clic pe textul „Introduceți nou” și apoi introduceți „Sursă” urmat de o adresă URL către un site web la alegerea dvs. în secțiunea Valoare. Acesta va arăta astfel:

Data viitoare, nu va trebui să faceți clic pe „Introduceți text nou” și să introduceți manual „Sursă”. Va apărea acum în lista derulantă de valori.

Dacă aveți acces la baza de date (ex: prin phpMyAdmin) puteți deschide tabelul postmeta, filtrați tabelul după id-ul postării pe care l-ați editat și ar trebui să vedeți noul câmp personalizat cu valoarea acestuia.

Acum că am confirmat că câmpul personalizat este stocat corespunzător pentru postare, să vedem cum îl putem afișa pe partea din față a postării noastre, unde vizitatorii site-ului nostru îl vor putea vedea!

Afișarea valorilor câmpurilor personalizate

Pentru a afișa noua noastră valoare de câmp personalizat pe postarea noastră, trebuie să adăugăm un cod la fișierul nostru șablon de postări unice. De obicei, acesta poate fi găsit în fișierul singular.php care se află în folderul principal al temei. În cazul nostru (tema Twenty Twenty) se află în fișierul /wp-content/themes/twentytwenty/template-parts/content.php .

Vom folosi funcția de bază get_post_meta pe care WordPress o oferă pentru a prelua meta câmpul unei postări din baza de date. Structura funcției este următoarea:

 get_post_meta( $post_id, $key, $single )

Singurul argument necesar este $post_id . Argumentul $key este meta-cheia de preluat, iar argumentul $single definește dacă o singură valoare este returnată și este inutilă dacă $key nu este definită deloc.

Dacă este declarat doar $post_id , rezultatul va fi o matrice cu toate cheile legate de postarea anume. Deci, dacă doar introduceți get_post_meta( $post_id ) veți obține ceva de genul acesta:

 Array ( [field1_key] => Array ( [0] => value1 ) [field2_key] => Array ( [0] => value2 ) [field3_key] => Array ( [0] => value3 ) )

Dacă utilizați get_post_meta( $post_id, 'filed1_key' ) veți obține ceva de genul Array ( [0] => value1 ) și dacă utilizați get_post_meta( $post_id, 'filed1_key', true ) așa cum am făcut noi înainte, veți obține doar value1 .

De asemenea, în unele postări este posibil să nu doriți să definiți câmpul sursă, așa că trebuie să includem în cod o verificare pentru a vedea dacă câmpul există pentru postare.

Deci, având în vedere toate acestea, codul pe care trebuie să-l folosim ar fi următorul:

 $source = get_post_meta( get_the_ID(), 'source', true); if( !empty( $source ) ) { echo '<h3>Source: ' . $source . '<h3>'; } ?>

Vom introduce codul imediat după conținutul postării, astfel încât în ​​interiorul div-ului HTML cu clasa „entry-content”, codul să arate astfel:

 <div class="entry-content"> <?php if ( is_search() || ! is_singular() && 'summary' === get_theme_mod( 'blog_content', 'full' ) ) { the_excerpt(); } else { the_content( __( 'Continue reading', 'twentytwenty' ) ); } $source = get_post_meta( get_the_ID(), 'source', true); if( !empty( $source ) ) { echo '<h3>Source: ' . $source . '<h3>'; } ?> </div><!-- .entry-content -->

Acum să vedem ce am realizat deschizând o nouă postare și aruncând o privire la modul în care acest conținut ar apărea pe front-end.

ieșire de câmp personalizat

Vă reamintim că, dacă întâmpinați dificultăți în localizarea fișierului șablon corespunzător vizualizării dvs. unice de postare, puteți consulta diagrama ierarhiei șablonului WordPress.

În mod clar, va fi ceva de făcut pentru a stiliza această ieșire. Acest lucru depășește scopul acestui articol, dar ceva pe care îl vom acoperi într-o postare viitoare.

Adăugarea de câmpuri personalizate folosind un plugin

plugin avansat de câmpuri personalizate

Pluginul Advanced Custom Fields este unul dintre cele mai bune pluginuri disponibile care vă permite să adăugați rapid câmpuri personalizate pe site-ul dvs. WordPress și oferă un control suplimentar asupra datelor dvs. personalizate. Folosind generatorul său, puteți crea cu ușurință câmpuri personalizate care pot fi apoi adăugate la postările, utilizatorii, taxonomiile, media, comentariile și chiar paginile cu opțiuni personalizate.

Creați-vă câmpurile personalizate folosind ACF

După instalarea și activarea pluginului ACF, mergeți la „Câmpuri personalizate > Grupuri de câmpuri”, unde sunt afișate câmpurile înregistrate.

Apăsați butonul „Adăugați nou” pentru a începe să vă creați câmpurile. Acestea pot fi apoi adăugate și în grupuri.

Există o mulțime de opțiuni oferite pentru dvs. care vă vor îmbunătăți comportamentul câmpurilor personalizate. Pe lângă configurația de bază care include eticheta și numele câmpului, puteți defini și tipul câmpului, definiți dacă câmpul este obligatoriu, modificați valoarea implicită, textul substituentului și, desigur, alegeți tipurile de postare în care va fi inclus de către folosind argumente logice.

De asemenea, există câteva setări disponibile care vă permit să schimbați aspectul câmpului (de mare ajutor) și o listă de casete de selectare pentru a defini ce ar trebui să fie ascuns pe ecranele de editare corespunzătoare.

Minunat, nu?

De asemenea, în meniul Instrumente ACF puteți exporta sau importa grupuri de câmpuri într-un format JSON pentru a accelera lucrurile dacă acestea au fost deja create în altă parte.

Un exemplu lucrat folosind câmpuri personalizate avansate

Să presupunem că am creat un tip de postări personalizate numit „Cărți” și am dori să adăugăm câteva câmpuri personalizate la fiecare postare de carte, cum ar fi Genul, Autorul cărții și Anul publicării. Primul lucru pe care ar trebui să-l facem este să creăm grupul de câmpuri și câmpurile care le conțin astfel:

După cum puteți vedea, nu toate câmpurile folosesc același tip.

  • Câmpul Autor este un câmp text simplu în care vom completa numele complet al autorului.
  • Câmpul Gen este un câmp selectat și trebuie să accepte mai multe valori. O carte poate fi legată de mai mult decât un gen.
  • Opțiunile predefinite pentru gen trebuie introduse în caseta Opțiuni, fiecare în rândul său.

Câmpul de acoperire ar trebui să fie un câmp de selectare a unei singure valori, de asemenea, cu opțiunile predefinite.

Acum haideți să edităm o postare de carte. Câmpurile vor apărea bine grupate în bara laterală.

Dacă doriți să schimbați poziția grupului de câmpuri, vă rugăm să accesați setările corespunzătoare:

Completați câmpurile, precum și un conținut de testare pentru articol și actualizați postarea. În acest moment, dacă vizitați vederea frontală a Postării cărții, veți observa că încă nu este afișat nimic referitor la câmpurile noastre personalizate.

Afișați câmpurile personalizate ACF

Puteți afișa cu ușurință câmpurile personalizate în șablonul temei dvs. utilizând funcțiile prietenoase pe care le oferă pluginul ACF. Două dintre acestea sunt:

  • get_field() – Returnează valoarea unui anumit câmp.
  • the_field() – Afișează valoarea unui anumit câmp.

Acestea sunt cele mai frecvent utilizate funcții cu pluginul ACF. Dacă doriți să vedeți lista completă a funcțiilor pluginului, puteți vizita documentația oficială pentru a afla mai multe.

Așadar, pentru a vă afișa câmpul personalizat în șablonul de vizualizare post, va trebui să adăugați ceva cod, așa cum am făcut noi când folosim câmpurile personalizate implicite WordPress. În schimb, de data aceasta vom folosi funcțiile pluginului ACF. Deoarece folosim tema Twenty Twenty, trebuie să edităm fișierul content.php din twentytwenty/template-parts/ . Imediat după închiderea secțiunii interioare am adăugat următoarele rânduri:

 <div class="entry-content"> <?php if( get_field( 'author' ) ) { echo '<p><b>Author:</b> ' . get_field( 'author' ) . '<p>'; } if( get_field( 'genre' ) ) { echo '<p><b>Genre:</b> ' . get_field( 'genre' ) . '<p>'; } if( get_field( 'cover' ) ) { echo '<p><b>Cover:</b> ' . get_field( 'cover' ) . '<p>'; } ?> </div>

În vederea frontală putem vedea acum câmpurile personalizate.

Totuși, câmpul de gen nu este afișat corect. Aceasta deoarece conține mai multe valori, prin urmare funcția get_field returnează o matrice. Pentru a remedia acest lucru, va trebui să convertim matricea într-o serie de valori ale acesteia. Acest lucru este ușor în PHP folosind funcția implode() .

 <div class="entry-content"> <?php if( get_field( 'author' ) ) { echo '<p><b>Author:</b> ' . get_field( 'author' ) . '<p>'; } if( get_field( 'genre' ) ) { echo '<p><b>Genre:</b> ' . implode( ", ", get_field( 'genre' ) ) . '<p>'; } if( get_field( 'cover' ) ) { echo '<p><b>Cover:</b> ' . get_field( 'cover' ) . '<p>'; } ?> </div>
vizualizați câmpurile personalizate create de shortcode

Dacă doriți să afișați selectiv unele câmpuri, dar nu toate, în anumite postări, puteți face acest lucru utilizând câteva coduri scurte ACF. Pentru a face acest lucru, deschideți postarea și apoi adăugați un bloc Gutenberg de cod scurt pentru fiecare câmp și introduceți un cod scurt ca acesta:

 [acf field="MY_CUSTOM_FIELD"/]

Înlocuiți MY_CUSTOM_FIELD cu numele câmpului și acesta ar trebui să funcționeze perfect.

După cum putem vedea, utilizarea pluginului Advanced Custom Fields ne oferă o flexibilitate fantastică de a crea câmpuri personalizate și de a le afișa unde vrem.

Concluzie

Funcția Câmpuri personalizate din WordPress se bazează pe dezvoltatorii din industrie pentru a oferi o mai bună structură și lizibilitate site-urilor lor web. Este o altă funcție WordPress remarcabilă, care, din nou, ajută la explicarea de ce WordPress este atât de popular. Sperăm că acest articol v-a oferit informațiile de care aveți nevoie pentru a adăuga propriile câmpuri personalizate pe site-ul dvs. web. Dezvoltare fericită!

Vezi si

Tabelele cu liste de administratori WordPress: Adăugați filtre personalizate
Adăugarea de câmpuri personalizate la elementele de meniu WordPress