Chcesz odblokować jeszcze większą moc organizacji w WordPress? Spróbuj dodać niestandardowe pola meta do swoich niestandardowych taksonomii.
Niestandardowe taksonomie pozwalają na organizację treści poza kategoriami i tagami. Czasami jednak przydatne okazuje się dodanie dodatkowych szczegółów i pól do ich opisu, co jest rolą niestandardowych pól meta.
W tym artykule pokażemy Ci, jak dodać dodatkowe pola meta do Twoich niestandardowych taksonomii w WordPress.

Kiedy należy dodać niestandardowe pola meta do niestandardowej taksonomii?
Kiedy tworzysz nową treść na swojej stronie WordPress, możesz ją organizować za pomocą dwóch domyślnych taksonomii, kategorii i tagów.
Niektóre strony internetowe korzystają z niestandardowych taksonomii. Pozwalają one na dodatkowe sposoby sortowania treści.
Na przykład strona internetowa publikująca recenzje książek mogłaby dodać taksonomie „Tematy” i „Autorzy”, aby odwiedzający mogli szybko znaleźć interesujące ich recenzje.
Więcej informacji znajdziesz w naszym przewodniku jak tworzyć niestandardowe taksonomie w WordPress.
Każda taksonomia domyślnie ma tylko trzy lub cztery pola: nazwa, slug, rodzic (jeśli jest hierarchiczna) i opis.

Czasami przydatne jest dodanie dodatkowych pól, aby lepiej opisać taksonomię. Na przykład, możesz dodać pole „rok urodzenia” do taksonomii „autorzy”.
Mając to na uwadze, oto jak dodać niestandardowe pola meta do niestandardowych taksonomii w WordPressie.
Krok 1: Dodawanie niestandardowych pól meta do niestandardowych taksonomii w WordPressie
Najpierw musisz zainstalować i aktywować wtyczkę Advanced Custom Fields. Aby dowiedzieć się więcej, zapoznaj się z naszym przewodnikiem krok po kroku jak zainstalować wtyczkę WordPress.
Następnie przejdź do strony Pola niestandardowe » Dodaj nowe. Tutaj możesz dodać grupę pól, która zawiera jedno lub więcej nowych pól.
Zostaniesz poproszony o nadanie tytułu grupie pól, a będzie on wyświetlany wraz z nowymi polami podczas dodawania lub edytowania taksonomii. W tym samouczku chcemy dodać niestandardowe pole do taksonomii Autorzy, więc nazwiemy grupę pól „Szczegóły autora”.

Po wykonaniu tej czynności należy kliknąć przycisk „+ Dodaj pole”, aby dodać pole. Pojawi się nowy formularz, w którym można wypełnić szczegóły nowego pola.
Po wprowadzeniu etykiety pola, nazwa pola zostanie utworzona automatycznie i możesz ją edytować, jeśli chcesz. Będziesz potrzebować nazwy pola później w samouczku, więc zanotuj ją.

Teraz powinieneś wypełnić inne szczegóły pola, takie jak typ pola, instrukcje dla Twoich autorów, którzy będą wypełniać formularz, oraz czy to pole jest wymagane. Inne opcje niewidoczne na zrzucie ekranu obejmują tekst domyślny, tekst zastępczy, limit znaków i inne.
Jeśli chcesz dodać drugie pole, kliknij przycisk „+ Dodaj pole” i powtórz proces. W przeciwnym razie po prostu przewiń w dół do sekcji Lokalizacja.
Tutaj możesz tworzyć reguły opisujące, gdzie ma być wyświetlane nowe pole. Powinieneś wybrać „Taksonomia” z pierwszego menu rozwijanego i pozostawić środkowe pole jako „jest równe”. Na koniec wybierz odpowiednią niestandardową taksonomię dla ostatniego pola. W tym samouczku wybierzemy „Autor”.

Jeśli chcesz dodać to pole do innej taksonomii, kliknij przycisk „Dodaj grupę reguł” i powtórz krok.
Teraz powinieneś dostosować wszelkie inne ustawienia na stronie. Pozostawimy po prostu wartości domyślne. Po zakończeniu powinieneś przewinąć stronę do góry i kliknąć przycisk „Opublikuj”.

Gratulacje, pomyślnie dodałeś niestandardowe pole metadanych do niestandardowej taksonomii w WordPress. Ale masz jeszcze trochę pracy do zrobienia.
Krok 2: Dodawanie danych do nowego niestandardowego pola meta
Chociaż taksonomia ma nowe pole, nie zawiera jeszcze żadnych danych. Powinieneś poświęcić trochę czasu, aby to teraz zrobić.
W naszym przykładzie musimy wprowadzić rok urodzenia każdego autora. Aby to zrobić, musimy przejść do Wpisy » Autorzy i kliknąć na nazwisko autora, którego chcemy edytować.

Po tym możemy wprowadzić dane do nowego pola. W tym przypadku wprowadzimy rok urodzenia autora. Nie zapomnij kliknąć przycisku „Zaktualizuj”, aby zapisać nowe dane.

Powinieneś wykonać te same kroki na swojej stronie internetowej, aby dodać dane do swojej niestandardowej taksonomii.
Po zakończeniu pozostał jeszcze jeden krok. Chociaż możesz zobaczyć niestandardowe pole po zalogowaniu się do obszaru administracyjnego WordPress, odwiedzający Twoją witrynę nie będą go widzieć. Musisz dodać pole do strony archiwum niestandardowej taksonomii.
Krok 3: Wyświetlanie niestandardowego pola meta na stronie archiwum taksonomii
W tym kroku musisz dodać kod do plików motywu. Jeśli nigdy tego nie robiłeś, zapoznaj się z naszym przewodnikiem dla początkujących na temat jak wklejać fragmenty z sieci do WordPress.
Pierwszą rzeczą, którą musisz zrobić, to wejść do folderu swojego motywu i poszukać pliku archiwum taksonomii. Będzie miał nazwę podobną do taxonomy-TWOJANAZW TAKSONOMII.php.
Na przykład, jeśli masz niestandardową taksonomię o nazwie „autorzy”, musisz poszukać pliku o nazwie taxonomy-authors.php.
Jeśli nie widzisz tego pliku, poszukaj pliku archive.php. Będziesz musiał utworzyć jego kopię i nazwać ją zgodnie z powyższym opisem.
Uwaga: Jeśli Twój motyw nie zawiera pliku archive.php, prawdopodobnie używasz WordPress theme framework i będziesz musiał ręcznie utworzyć archiwum taksonomii. Dobrym punktem wyjścia do nauki tworzenia plików archiwów jest nasz poradnik na temat tworzenia niestandardowych stron archiwów w WordPressie.
Teraz musisz dodać następujący kod do archiwum taksonomii, tuż przed pętlą:
<?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;
?>
Pamiętaj, że musisz zastąpić „FIELDNAME” rzeczywistą nazwą pola, którą utworzyłeś powyżej. Pamiętaj, że poprosiliśmy Cię o zanotowanie tego.
W naszym przykładzie nazwa pola to „rok_urodzenia”. Dodamy również opis, aby nasi odwiedzający rozumieli, co oznacza pole. Dodamy więc następujący kod do pliku archiwum taksonomii 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;
?>
Tak to wyglądało, gdy testowaliśmy to na naszej stronie demonstracyjnej:

Mamy nadzieję, że ten samouczek pomógł Ci dowiedzieć się, jak dodawać niestandardowe pola meta do niestandardowych taksonomii w WordPress. Możesz również chcieć dowiedzieć się, jak dodać słowa kluczowe i meta opisy w WordPress, lub zapoznać się z naszą listą niezbędnych wtyczek WordPress do rozwoju Twojej witryny.
Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.


Tarek Anandan
Jeśli nie możesz wyświetlić swoich danych i używasz najnowszej wersji WordPress, użyj get_term_meta() zamiast get_tax_meta().
Subin
oto mój kod:
$config = array(
‘id’ => ‘tax_meta_box’, // identyfikator pola meta, unikalny dla każdego pola meta
‘title’ => ‘Tax Meta Box’, // tytuł pola meta
‘pages’ => array(‘category’), // nazwa taksonomii, akceptuje kategorie, post_tag i niestandardowe taksonomie
‘context’ => ‘normal’, // gdzie pojawia się pole meta: normal (domyślnie), zaawansowane, boczne; opcjonalne
‘fields’ => array(), // lista pól meta (można dodać przez tablice pól)
‘local_images’ => false, // Używaj lokalnych lub hostowanych obrazów (obrazy pola meta do dodawania/usuwania)
‘use_with_theme’ => get_template_directory_uri() . ‘/Tax-Meta-Class/Tax-meta-class’
);
/*
* Zainicjuj swoje pole meta
*/
$my_meta = new Tax_Meta_Class($config);
// Pole obrazu
$my_meta->addImage(‘image_field’,array(‘name’=> __(‘Mój Obraz ‘,’tax-meta’)));
$my_meta->Finish();
———————————————————————————————————————–
term_id;
$saved_data = get_tax_meta($term_id,'image_field',true);
echo "";
echo $term_id; // Wyświetla '1', czyli ID kategorii
echo $saved_data; // Nic nie wyświetla. Zastanawiam się dlaczego!!
exit;
?>
James Dower
Ja również mam problemy z uzyskaniem ścieżki do przesłanego obrazu. Po prostu wyświetla:
Tablica
…pola tekstowe są w porządku.
Używam:
$prefix = ‘ttp_’;
$my_meta->addImage($prefix.’logo_id’,array(‘name’=> __(‘Logo’,’tax-meta’)));
A na stronie taxonomy.php:
$logo = get_tax_meta($term->term_id, ttp_logo_id);
Czy ktoś może pomóc? Próbuję od godzin!
James Dower
…czy ktoś może mi wyjaśnić, jak wyświetlić pola powtarzalne?!
James Dower
Dla wszystkich, którzy mają problem z odczytem tego, znalazłem tam zbłąkany apostrof, to działa dla mnie:
$data = get_tax_meta($term->term_id, ba_text_field_id);
echo $data;
siva
Witaj Zespole, bardzo, bardzo dziękuję...
Ketan
Cześć,
Aktywowałem wtyczkę. ale nie widzę, gdzie mogę dodać niestandardowe pole taksonomii w panelu administracyjnym. proszę o odpowiedź.
Dzięki,
Ketan.
Francisco
Thanks a lot this has been very useful!!!!
Poprawnie wyświetliłem pole tekstowe za pomocą tego kodu:
// Pobierz poprawny identyfikator taksonomii według sluga
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Pobierz Meta Taksonomii
$saved_data = get_tax_meta($term->term_id,’ba_text_field_id’);
echo $saved_data;
ALE muszę też wyświetlić obrazek. Używam tego kodu php w moim szablonie:
// Pobierz poprawny identyfikator taksonomii według sluga
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Pobierz Metadane Taksonomii
$saved_data = get_tax_meta($term->term_id,’ba_image_field_id’);
echo $saved_data;
But it doesn’t display anything!
Pokazuje tylko pojedyncze słowo „array”
Co może być nie tak?
David Beastall
Dzięki za to, moim zdaniem samouczek jest niekompletny.
Hemanta Chakladar
Ja też tego szukam.
Hemanta Chakladar
Utknąłem.
Widzę opcję metadanych w kategorii WordPress, ale nie w mojej niestandardowej taksonomii. Gdzie mogę dodać tę opcję do dodawania niestandardowych metadanych w mojej niestandardowej taksonomii? Gdzie to jest zdefiniowane?
Marco Panichi
Jak dodać wiele pól wyboru, aby wybrać jednego lub więcej użytkowników?
Ankur
Cześć Marco, Czy dostałeś jakąś odpowiedź w tej sprawie? Ja też szukam tej samej funkcjonalności.
Joe Chow
Dziękuję bardzo. Widzę, że w kategorii postów jest mnóstwo pól. Chciałbym jednak wiedzieć, jak sprawić, aby kod działał tylko dla kategorii produktów WooCommerce.
Czy ktoś może podać wskazówkę?
Joe
Jak uzyskać informacje o taksonomii na niestandardowym szablonie strony zamiast na stronie taxonomy.php?
Jason Gateman
Dzięki za ten tutorial! Jak mogę wyświetlić meta na niestandardowej stronie posta, którą utworzyłem, zamiast tylko na stronie taksonomii?
AD
Cześć wszystkim,
Dla tych, którzy mają problemy z wyświetlaniem zapisanych treści. Użyj prefiksu przed kluczem.
//Pobierz metadane taksonomii
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
Powinno być ba_text_field_id (zakładając, że prefiks to ba_).
Mam nadzieję, że to pomoże, pozdrawiam.
Dan
Chciałem poprzeć ten komentarz, ponieważ może być dość zagadkowe, dlaczego przykład nie działa. Jeśli spojrzysz w plik „Tax meta class”, zobaczysz na górze, że Ohad definiuje zmienną $prefix, która jest dodawana do każdej funkcji zapisu.
Aby uzyskać wynik do wyświetlenia, musisz uwzględnić prefiks. Prefiks można ustawić na dowolną wartość, w tym na „”. Nie mam pojęcia, co oznacza „ba_”, ale taka jest wartość domyślna.
Przykład powinien wyglądać tak:
$saved_data = get_tax_meta($term->term_id,’ba_text_field_id’);
Chris
Wielkie dzięki! Działa świetnie. Oszczędziłeś mi dużo czasu na kodowaniu.
Ante
Ok, utknąłem.
//Pobierz prawidłowy identyfikator taksonomii według slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Pobierz metadane taksonomii
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
Więc ‘taxonomy’ to moja niestandardowa taksonomia, powiedzmy ‘project_clients’
‘text_field_id’ to identyfikator pola wejściowego, jest to $prefix.’text_area’…
Co to jest 'term' ?????
Steve
Ante,
Czy poczyniłeś jakieś postępy w tej sprawie??
Zadaję to samo pytanie – przejrzałem wiele komentarzy i stron na ten temat, ale nie mogę znaleźć rozwiązania. Będę wdzięczny za pomoc, jeśli znalazłeś odpowiedź.
Samo dodanie poniższego do mojego pliku taxonomy.php nie działa:
//Pobierz prawidłowy identyfikator taksonomii według slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Pobierz metadane taksonomii
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
fp-admin
Próbuję dodać wszystko, co wpiszę w edytorze WYSIWYG, do front-endu strony. Szczerze mówiąc, nie mam pojęcia, co robię, ale mój kod wygląda tak:
term_id,’wysiwyg_field_id’);
?>
<a href="”>
ELiane
Cześć,
Użyłem wtyczki, ale nie mogę uzyskać kodu w moim Taxonomy.php.
Używam tego kodu do wyświetlenia pola
term_id,’text_field_id’); echo $saved_data;
Czy muszę zrobić coś jeszcze?
Dzięki
Wsparcie WPBeginner
tak, jeśli postępowałeś zgodnie ze wszystkimi instrukcjami opisanymi powyżej, powinno działać.
Admin
Tejas Deshmukh
Witam, szczególnie dziękuję za ten pomysł. Ten plugin działa znakomicie. Dodałem trzy dodatkowe pola w opcji dodawania i edycji konkretnego terminu. Ale kiedy tworzę w nim kategorię w tym terminie, nie mogę zapisać wartości dla tych trzech dodatkowych pól. Czy masz jakieś sugestie?
alexut
Ale jak pobrać dane ze strony archiwum? Powinieneś też dodać to, ponieważ jest to częsta prośba.
Kisshomaru
Genialne! Nie masz pojęcia, ile czasu spędziłem szukając sposobu na dodanie „ilości” do „produktów”. Ponieważ nie jest to strona handlowa, było uciążliwe powiązanie posta o jedzeniu z taksonomią Składniki i niemożność modyfikacji liczby ogórków dla każdego posta.
Dziękuję!
Mike Jackson
Cześć – mam problem z uruchomieniem tego. Mam pola danych widoczne w mojej niestandardowej taksonomii, ale nie mogę wywołać danych w moim brand-description.php za pomocą kodu php, który wkleiłeś na dole swojego artykułu. Nie pokazuje błędu, po prostu nie działa.
Byłbym bardzo wdzięczny za dalsze wyjaśnienia, jeśli masz czas.
Dzięki
Mike Jackson
To jest niezłe znalezisko! Próbuję to rozwiązać od kilku tygodni. Czy masz pomysł, jak dodać nowe pola do kolumn?
Mike Jackson
Ja też mam problem z wyświetleniem czegokolwiek na stronie. Mam zastosowany ten kod i dane w polach, ale nic nie pojawia się na stronie
term_id,’textarea_field_id’);
echo $saved_data;
?>
Personel redakcyjny
Ten kod działa na stronie archiwum taksonomii. Jeśli się nie wyświetla, prawdopodobnie kod nie jest w stanie uzyskać identyfikatora taksonomii. Przynajmniej tak bym zgadywał.
-Syed
Admin
FJ
Cóż, to brzmi nieźle i zadziałało w przypadku kategorii, ale z jakiegoś powodu nie zadziałało w mojej niestandardowej taksonomii. Czy coś przeoczyłem? Czy jest gdzieś jakiś hook, na który nie zwróciłem uwagi?
W każdym razie, wielkie dzięki za te oświecające informacje o pracy Ohada. Kręciłem się wokół tego, zastanawiając się, jak na świecie mógłbym tego właściwie użyć. Jestem po prostu typem "zrób to sam", a nie prawdziwym deweloperem, jestem pewien, że już to zrozumiałeś.
Dzięki jeszcze raz.
Personel redakcyjny
W linii 24 pliku example-usage.php powinieneś móc określić swoją niestandardową taksonomię.
Admin
Ben
Dla jasności – Linia 24 pliku taxonomy-fields.php
‘pages’ => array(‘category’), // nazwa taksonomii, akceptuje kategorie, post_tag i niestandardowe taksonomie
ZMIEN XXX na nazwę swojej niestandardowej taksonomii
‘pages’ => array(‘xxxxx’), // nazwa taksonomii, akceptuje kategorie, post_tag i niestandardowe taksonomie
Kobbe
@ Edytorze, wybacz mi, jak mogę wyświetlić pole tekstowe
Personel redakcyjny
Musisz użyć kodu PHP, który udostępniliśmy. Pamiętaj, aby zmienić nazwę pola na tę, którą posiadasz.
Admin
Kobbe
Dziękuję redaktorze, bardzo doceniam odpowiedź. Oto plik class-usage-demo.php – http://pastebin.com/ctZPeS0w
Robię tak, ale nic się nie wyświetla/nie ma żadnego wyjścia. Co robię źle..? i czy jest możliwe wyświetlenie kodu (jeśli to możliwe) gdziekolwiek w moim motywie…Dzięki
Personel redakcyjny
Kod, który masz, jedynie konfiguruje stronę administracyjną. Aby wyświetlić kod, spójrz na kod PHP, który udostępniliśmy w artykule. Musisz użyć go w swoim pliku archiwum taksonomii.
gaurav kaushik
to fajne..
ale gdzie to zapisuje dane…? w tabeli postmeta czy tworzy nową tabelę?
Personel redakcyjny
Robi to w tabeli opcji.
Admin
Gaurav Kaushik
czy możemy zmienić backend tego wtyczki..mam na myśli, że chcemy stworzyć tabelę termmeta (meta_id,term_id,meta_key,meta_value)..i zapisać tam meta taksonomii...lub połączyć ją z tą wtyczką? http://wordpress.org/extend/plugins/simple-term-meta/
Jim
Super sprawa. Wdrożę to w przyszłości na naszym blogu.
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
Właśnie skończyłem kodować niestandardowe pola dla niestandardowej taksonomii dla projektu, nad którym pracuję. Uwielbiam elastyczność – na pewno sprawdzę wtyczkę do przyszłych projektów!
Personel redakcyjny
Tak, to jest najlepsza część. Uwielbiamy natrafiać na takie biblioteki, które znacznie ułatwiają życie programistom.
Admin