Doriți să deblocați și mai multă putere de organizare în WordPress? Încercați să adăugați câmpuri meta personalizate la taxonomiile dvs. personalizate.
Taxonomiile personalizate vă permit să vă organizați conținutul dincolo de categorii și etichete. Dar, uneori, constatăm că este util să adăugăm detalii și câmpuri suplimentare pentru a le descrie, ceea ce este locul unde intervin câmpurile meta personalizate.
În acest articol, vă vom arăta cum să adăugați câmpuri meta suplimentare la taxonomiile personalizate în WordPress.

Când ar trebui să adăugați câmpuri meta personalizate la o taxonomie personalizată?
Când creați conținut nou pe site-ul dvs. WordPress, îl puteți organiza folosind cele două taxonomii implicite, categorii și etichete.
Unele site-uri beneficiază de utilizarea a taxonomiilor personalizate. Acestea vă permit să vă sortați conținutul în moduri suplimentare.
De exemplu, un site web care postează recenzii de cărți ar putea adăuga taxonomiile „Subiecte” și „Autori”, astfel încât vizitatorii să poată găsi rapid recenziile de care sunt interesați.
Pentru mai multe informații, consultați ghidul nostru despre cum să creați taxonomii personalizate în WordPress.
Fiecare taxonomie are doar trei sau patru câmpuri în mod implicit: nume, slug, părinte (dacă este ierarhic) și descriere.

Uneori este util să adăugați câmpuri suplimentare pentru a descrie mai bine taxonomia. De exemplu, ați putea adăuga un câmp ‘anul nașterii’ la o taxonomie ‘autori’.
Acestea fiind spuse, iată cum să adăugați câmpuri meta personalizate la taxonomiile personalizate în WordPress.
Pasul 1: Adăugarea câmpurilor meta personalizate la taxonomiile personalizate în WordPress
Mai întâi, trebuie să instalați și să activați pluginul Advanced Custom Fields. Pentru a afla mai multe, consultați ghidul nostru pas cu pas despre cum să instalați un plugin WordPress.
Apoi, accesați pagina Câmpuri personalizate » Adăugare nou. Aici, puteți adăuga un grup de câmpuri care conține unul sau mai multe câmpuri noi.
Vi se va cere să dați un titlu grupului de câmpuri, iar acesta va fi afișat împreună cu noile câmpuri la adăugarea sau editarea taxonomiei. În acest tutorial, dorim să adăugăm un câmp personalizat la taxonomia Autori, așa că vom numi grupul de câmpuri ‘Detalii autor’.

După ce ați făcut acest lucru, ar trebui să dați clic pe butonul ‘+ Adaugă câmp’ pentru a adăuga un câmp. Va apărea un nou formular unde puteți completa detaliile noului câmp.
Odată ce introduceți o etichetă de câmp, numele câmpului va fi creat automat pentru dvs. și îl puteți edita dacă doriți. Va trebui să folosiți numele câmpului mai târziu în tutorial, așa că notați-l.

Acum ar trebui să completați celelalte detalii pentru câmp, cum ar fi tipul de câmp, instrucțiuni pentru autorii dvs. care vor completa formularul și dacă acest câmp este obligatoriu. Alte opțiuni neafișate în captură de ecran includ text implicit, text de tip placeholder, limită de caractere și multe altele.
Dacă doriți să adăugați un al doilea câmp, atunci ar trebui să faceți clic pe butonul ‘+ Add Field’ și să repetați procesul. În caz contrar, pur și simplu derulați în jos la secțiunea Location.
Aici, puteți crea reguli care descriu unde să fie afișat noul câmp. Ar trebui să selectați ‘Taxonomy’ din primul meniu derulant și să lăsați câmpul din mijloc ca ‘is equal to’. În final, selectați taxonomia personalizată corectă pentru ultimul câmp. În acest tutorial, vom selecta ‘Author’.

Dacă doriți să adăugați acest câmp la o altă taxonomie, atunci puteți face clic pe butonul „Adăugare grup de reguli” și repetați pasul.
Acum ar trebui să ajustați orice alte setări de pe pagină. Vom lăsa pur și simplu valorile implicite. După ce ați terminat, ar trebui să derulați în partea de sus a paginii și să dați clic pe butonul ‘Publică’.

Felicitări, ați adăugat cu succes un câmp meta personalizat la o taxonomie personalizată în WordPress. Dar mai aveți de făcut niște lucruri.
Pasul 2: Adăugarea datelor la noul câmp meta personalizat
Deși taxonomia are un câmp nou, nu conține încă niciun fel de date. Ar trebui să vă faceți timp acum pentru a face acest lucru.
În exemplul nostru, trebuie să introducem anul nașterii pentru fiecare autor. Pentru a face acest lucru, trebuie să navigăm la Postări » Autori și să dăm clic pe numele autorului pe care dorim să-l edităm.

După aceea, putem introduce date în noul câmp. În acest caz, vom introduce anul nașterii autorului respectiv. Nu uitați să faceți clic pe butonul „Actualizare” pentru a salva noile date.

Ar trebui să urmați aceiași pași pe site-ul dvs. pentru a adăuga date la taxonomia dvs. personalizată.
Când ați terminat, mai este un pas de parcurs. Deși puteți vedea câmpul personalizat atunci când sunteți conectat la zona de administrare WordPress, vizitatorii site-ului dvs. nu îl vor putea vedea. Va trebui să adăugați câmpul pe pagina de arhivă a taxonomiei personalizate.
Pasul 3: Afișarea unui câmp meta personalizat pe pagina de arhivă a taxonomiei
În acest pas, va trebui să adăugați cod în fișierele temei. Dacă nu ați mai făcut acest lucru înainte, consultați ghidul nostru pentru începători despre cum să copiați fragmente de pe web în WordPress.
Primul lucru pe care trebuie să-l faceți este să intrați în folderul temei dvs. și să căutați fișierul arhivei taxonomiei. Acesta va avea un nume precum taxonomy-NUMETAXONOMIE.php.
De exemplu, dacă aveți o taxonomie personalizată numită „autori”, atunci trebuie să căutați un fișier numit taxonomy-authors.php.
Dacă nu vedeți acel fișier, căutați archive.php. Va trebui să faceți o copie a acelui fișier și să-l denumiți așa cum este descris mai sus.
Notă: Dacă tema dvs. nu include archive.php, atunci probabil folosiți un cadru de temă WordPress și va trebui să creați arhiva taxonomiei manual. Un punct bun de plecare pentru a învăța cum să creați fișiere de arhivă este ghidul nostru despre cum să creați pagini de arhive personalizate în WordPress.
Acum trebuie să adăugați următorul cod la arhiva taxonomiei, chiar înainte de buclă:
<?php
// get the current taxonomy term
$term = get_queried_object();
// get the taxonomy meta field
$taxonomymetafield = get_field('FIELDNAME', $term);
// display the taxonomy meta field
echo $taxonomymetafield;
?>
Rețineți că trebuie să înlocuiți „FIELDNAME” cu numele real al câmpului pe care l-ați creat mai sus. Amintiți-vă, v-am cerut să notați acest lucru.
În exemplul nostru, numele câmpului este ‘year_of_birth’. Vom adăuga și o descriere, astfel încât vizitatorii noștri să înțeleagă ce înseamnă câmpul. Așadar, vom adăuga următorul cod în fișierul arhivei taxonomiei taxonomy-authors.php:
<?php
// get the current taxonomy term
$term = get_queried_object();
// get the taxonomy meta field
$taxonomymetafield = get_field('year_of_birth', $term);
// display the taxonomy meta field
echo "Year of birth: ";
echo $taxonomymetafield;
?>
Iată cum arăta când l-am testat pe site-ul nostru demo:

Sperăm că acest tutorial v-a ajutat să învățați cum să adăugați câmpuri meta personalizate la taxonomiile personalizate în WordPress. De asemenea, ați putea dori să învățați cum să adăugați cuvinte cheie și descrieri meta în WordPress, sau să consultați lista noastră de pluginuri WordPress obligatorii pentru a vă dezvolta site-ul.
Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.

Tarek Anandan
Dacă nu puteți afișa datele și folosiți o versiune recentă de WordPress, folosiți get_term_meta() în loc de get_tax_meta().
Subin
aici este codul meu:
$config = array(
‘id’ => ‘tax_meta_box’, // id meta box, unic per meta box
‘title’ => ‘Tax Meta Box’, // titlu meta box
‘pages’ => array(‘category’), // nume taxonomie, acceptă categorii, post_tag și taxonomii personalizate
‘context’ => ‘normal’, // unde apare meta box: normal (implicit), avansat, lateral; opțional
‘fields’ => array(), // listă de câmpuri meta (pot fi adăugate prin array-uri de câmpuri)
‘local_images’ => false, // Folosește imagini locale sau găzduite (imagini meta box pentru adăugare/eliminare)
‘use_with_theme’ => get_template_directory_uri() . ‘/Tax-Meta-Class/Tax-meta-class’
);
/*
* Inițiază meta box-ul tău
*/
$my_meta = new Tax_Meta_Class($config);
// Câmp imagine
$my_meta->addImage(‘image_field’,array(‘name’=> __(‘Imaginea mea ‘,’tax-meta’)));
>Finish();
———————————————————————————————————————–
term_id; $saved_data = get_tax_meta($term_id,’image_field’,true); echo ”; echo $term_id; // Afișează ‘1’ care este ID-ul categoriei echo $saved_data; // Nu afișează nimic. Mă întreb de ce!! exit;
?>
James Dower
Am și eu probleme în a obține calea pentru o imagine încărcată. Pur și simplu afișează:
Array
…câmpurile text sunt în regulă.
Folosesc:
$prefix = ‘ttp_’;
$my_meta->addImage($prefix.'logo_id',array('name'=> __(‘Logo’,’tax-meta’)));
Și pe pagina taxonomy.php:
$logo = get_tax_meta($term->term_id, ttp_logo_id);
Poate cineva să mă ajute, vă rog? Am stat la asta ore întregi!
James Dower
…și poate cineva, vă rog, să explice cum să afișez câmpuri repetabile?!
James Dower
Pentru toți cei care se luptă să obțină acest lucru, am găsit un apostrof rătăcit acolo, acest lucru funcționează pentru mine:
$data = get_tax_meta($term->term_id, ba_text_field_id);
echo $data;
siva
Salut Echipă, mulțumesc foarte, foarte mult.....
Ketan
Salut,
Am activat pluginul. dar nu știu unde pot adăuga câmpuri de taxonomie personalizată în partea de administrare. vă rog să-mi răspundeți.
Mulțumesc,
Ketan.
Francisco
Thanks a lot this has been very useful!!!!
Am afișat corect un câmp de text folosind acest cod:
// Obține ID-ul taxonomiei corecte după slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Obține Meta Taxonomie
$saved_data = get_tax_meta($term->term_id,’ba_text_field_id’);
echo $saved_data;
DAR trebuie să afișez și o imagine, folosesc acest cod php în șablonul meu:
// Obține ID-ul taxonomiei corecte după slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Obțineți meta-taxonomie
$saved_data = get_tax_meta($term->term_id,’ba_image_field_id’);
echo $saved_data;
But it doesn’t display anything!
Arată doar un singur cuvânt „array”
Ce ar putea fi greșit?
David Beastall
Mulțumesc pentru asta, tutorialul pare incomplet, părerea mea.
Hemanta Chakladar
Și eu caut asta.
Hemanta Chakladar
Sunt blocat.
Văd opțiunea de metadate în categoria wordpress și nu în taxonomia mea personalizată. Unde pot adăuga această opțiune pentru a adăuga metadate personalizate în taxonomia mea personalizată? Unde este definită?
Marco Panichi
Cum să adăugăm o casetă de selectare multiplă pentru a selecta unul sau mai mulți utilizatori?
Ankur
Salut Marco, Ai primit vreun răspuns la asta? Și eu caut aceeași funcționalitate.
Joe Chow
mulțumesc mult. Văd că există o grămadă de câmpuri afișate la categoria postărilor. Cu toate acestea, vreau doar să știu cum să fac codul să fie utilizat numai pentru categoria de produse woocommerce.
Poate cineva să dea un sfat?
Joe
Cum ați obține informațiile despre taxonomie pe un șablon de pagină personalizat în loc de o pagină taxonomy.php?
Jason Gateman
Mulțumesc pentru acest tutorial! Cum pot afișa meta-ul pe o pagină de postare personalizată pe care am creat-o, spre deosebire de doar pagina de taxonomie?
AD
Salut băieți,
Pentru cei care au probleme cu afișarea conținutului salvat. Folosiți prefixul în fața cheii.
//Obține Meta Taxonomie
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
Ar trebui să fie ba_text_field_id (Având în vedere că prefixul este ba_).
Sper că acest lucru ajută, salutări.
Dan
Voiam să susțin acest comentariu, deoarece poate fi destul de derutant să înțelegi de ce exemplul nu funcționează. Dacă te uiți în fișierul „Tax meta class”, vei vedea în partea de sus că Ohad definește o variabilă $prefix care este adăugată fiecărei funcții de salvare.
Deci, pentru a obține rezultatul de afișat, trebuie să includeți prefixul. Puteți seta prefixul la orice doriți, inclusiv la „”. Nu am idee ce înseamnă „ba_”, dar acesta este cel implicit.
Exemplul ar trebui să citească:
$saved_data = get_tax_meta($term->term_id,’ba_text_field_id’);
Chris
Mulțumesc mult! Funcționează excelent. Mi-ați economisit mult timp de codare.
Ante
Ok, m-am blocat.
//Obține ID-ul corect al taxonomiei după slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Obține Meta Taxonomie
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
Deci ‘taxonomy’ este taxonomia mea personalizată, să spunem ‘project_clients’
‘text_field_id’ este id-ul câmpului de intrare, este $prefix.’text_area’…
Ce este „term” ?????
Steve
Ante,
Ai avut vreun progres cu asta??
Mă întreb același lucru – am parcurs atât de multe comentarii și pagini care vorbesc despre asta, dar nu pot găsi o rezoluție. Orice ajutor ar fi apreciat dacă ați găsit răspunsul.
Simplul fapt de a adăuga următoarele în fișierul meu taxonomy.php nu funcționează:
//Obține ID-ul corect al taxonomiei după slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Obține Meta Taxonomie
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
fp-admin
Încerc să adaug orice pun în WYSIWYG pe partea frontală a site-ului. Sincer, nu am nicio idee ce fac, dar acesta este codul meu de până acum:
term_id,’wysiwyg_field_id’);
?>
<a href="”>
ELiane
Salut,
Am folosit pluginul, dar nu pot obține codul pe Taxonomy.php.
Folosesc acest cod pentru a afișa câmpul
term_id,’text_field_id’); echo $saved_data;
?>
Precizez că trebuie să fac altceva?
Mulțumesc
Suport WPBeginner
da, dacă ați urmat toate instrucțiunile așa cum sunt descrise mai sus, atunci ar trebui să funcționeze.
Admin
Tejas Deshmukh
Bună, Mulțumiri speciale pentru această idee. Acest plugin funcționează superb. Am adăugat trei câmpuri suplimentare la opțiunea de adăugare, editare a termenilor specifici. dar când creez o categorie în el la acel termen, în acel moment nu pot stoca valoarea pentru acele trei câmpuri suplimentare. Aveți vreo sugestie pentru asta?
alexut
Dar cum obțin datele de pe pagina de arhivă? ar trebui să adăugați și acest lucru, deoarece este o cerere comună.
Kisshomaru
Brilliant! Nu aveți idee cât timp am petrecut căutând o modalitate de a adăuga „cantități” la „produse”. Neavând un site de comerț, era dificil să legi o postare despre mâncare de o taxonomie de Ingrediente și să nu poți modifica numărul de castraveți pentru fiecare postare.
Mulțumesc!
Mike Jackson
Salut – Am probleme în a face acest lucru să funcționeze. Am câmpurile de date vizibile în taxonomia mea personalizată, dar nu pot apela datele în brand-description.php folosind codul php pe care l-ați postat în partea de jos a articolului dvs. Nu afișează nicio eroare, pur și simplu nu funcționează.
Aș aprecia cu adevărat o explicație suplimentară cu privire la acest aspect, dacă aveți timp.
Mulțumesc
Mike Jackson
Aceasta este o descoperire! Am încercat să rezolv asta de câteva săptămâni. Aveți idee cum să adaug noile câmpuri la coloane?
Mike Jackson
Am și eu probleme în a afișa ceva pe pagină. Am aplicat acest cod și am date în câmpuri, dar nu apare nimic pe site
term_id,’textarea_field_id’);
echo $saved_data;
?>
Personal editorial
Acest cod funcționează pe pagina de arhivă a taxonomiei. Dacă nu se afișează, este posibil ca codul să nu poată obține ID-ul taxonomiei. Cel puțin asta aș presupune.
-Syed
Admin
FJ
Ei bine, sună bine și a funcționat pentru categorii, dar din orice motiv, nu a funcționat pentru o taxonomie personalizată. Am ratat ceva? Există un hook undeva la care nu m-am uitat? Oricum, mulțumesc mult pentru aceste informații lămuritoare despre munca lui Ohad. Am stat pe lângă ea, întrebându-mă cum naiba aș putea să o folosesc corect. Sunt genul care face singur, nu un dezvoltator adevărat, sunt sigur că ați înțeles deja. Mulțumesc din nou.
Personal editorial
În linia 24 din example-usage.php, ar trebui să puteți specifica taxonomia dvs. personalizată.
Admin
Ben
Pentru clarificare – Linia 24 din taxonomy-fields.php
‘pages’ => array(‘category’), // nume de taxonomie, acceptă categorii, post_tag și taxonomii personalizate
SCHIMBAȚI XXX cu numele taxonomiei dvs. personalizate
‘pages’ => array(‘xxxxx’), // nume taxonomie, acceptă categorii, post_tag și taxonomii personalizate
Kobbe
@ Editor, vă rog să mă iertați, cum afișez un câmp text
Personal editorial
Trebuie să folosiți codul PHP pe care l-am partajat. Asigurați-vă că schimbați numele câmpului cu cel pe care îl aveți.
Admin
Kobbe
Mulțumesc editor, apreciez foarte mult răspunsul, Acesta este fișierul class-usage-demo.php – http://pastebin.com/ctZPeS0w
Asta fac, dar nu afișează/nu scoate nimic. Ce fac greșit..? și este posibil să afișez codul (dacă este posibil) oriunde în tema mea…Mulțumesc
Personal editorial
Codul pe care îl aveți configurează doar partea de administrare. Pentru a afișa codul, uitați-vă la codul PHP pe care l-am partajat în articol. Trebuie să îl folosiți în fișierul dvs. de arhivă a taxonomiei.
gaurav kaushik
e tare..
dar unde salvează datele...? în tabela postmeta sau creează o nouă tabelă?
Personal editorial
O face în tabelul de opțiuni.
Admin
Gaurav Kaushik
putem schimba backend-ul acestui plugin..vreau să creez un tabel termmeta (meta_id,term_id,meta_key,meta_value) ..și să salvez meta-ul taxonomiei aici…sau să-l conectez cu acest plugin? http://wordpress.org/extend/plugins/simple-term-meta/
Jim
Lucruri grozave. Voi implementa acest lucru pe blogul nostru în viitor.
Michelle
Oh thanks you so much, I’ve been wondering how to identify tags as being English or Spanish for my bilingual site – this helps enormously
Jaime
De fapt, tocmai am terminat de codat câmpuri personalizate pentru o taxonomie personalizată pentru un proiect la care lucrez. Îmi place flexibilitatea – voi verifica cu siguranță pluginul pentru proiecte viitoare!
Personal editorial
Da, aceasta este partea cea mai bună. Ne place să dăm peste biblioteci ca aceasta, care fac viața dezvoltatorilor mult mai ușoară.
Admin