Chciałbym dodać niestandardowe pola do określonej kategorii. Kategoria ma tylko następujące pola:
Imię:
Ślimak:
Rodzic:
Opis:
Ponieważ mam witrynę z serialami telewizyjnymi, chcę dodać więcej pól, chcę coś takiego podczas tworzenia nowej kategorii (kategoria = serial)
Imię:
Artysta:
Rok:
Rodzaj:
Gatunek muzyczny:
Podsumowanie:
Ślimak:
Rodzic:
Opis:
I tak dalej...
Proszę o pomoc? Z góry dziękuję.
categories
Earlee
źródło
źródło
Odpowiedzi:
Opublikowałem Poradę na ten temat tydzień temu http://en.bainternet.info/2011/wordpress-category-extra-fields
mam nadzieję że to pomoże.
Ohad.
Oto szczegóły wpisu:
Pierwszą rzeczą, którą musimy zrobić, to dodać dodatkowe pola do formularza edycji kategorii za pomocą haka edit_category_form_fields i używamy prostej funkcji, która wydrukuje dodatkowe pola.
Jak widać dodałem 4 nowe pola i wszystkie z nich są w tablicy Cat_meta [klucz], ponieważ w ten sposób tworzymy tylko wiersz w tabeli opcji, aby zapisać wszystkie dodatkowe pola kategorii zamiast wiersza dla każdego pola.
Następnie musimy zapisać dodatkowe pola w bazie danych, gdy użytkownik prześle formularz edycji kategorii i zrobimy to za pomocą „edytowanej_kategorii” z funkcją, która przejdzie przez każde z przesłanych pól i wstawi je do bazy danych za pomocą funkcji update_option , lubię to:
Z powyższego kodu widać, że wszystkie dodatkowe pola, które dodaliśmy, są przechowywane w tabeli opcji bazy danych o nazwie „category_ID”, gdzie ID to identyfikator konkretnej kategorii, którą właśnie edytowaliśmy, a to oznacza, że możemy to nazwać dane w naszych wtyczkach lub plikach motywów łatwo za pomocą funkcji get_option.
powiedzmy na przykład, że mój identyfikator kategorii to 25, wtedy mój kod będzie wyglądał
Jak wspomniałem na początku, muszę wyświetlić inny obraz dla każdej kategorii, dlatego w tym przypadku dodałem kilka wierszy kodu do kategorii mojej kompozycji. Php zaraz po kodzie, który wyświetla tytuł kategorii:
Ładnie i łatwo i wszyscy jesteśmy skończeni. Wynik powinien wyglądać podobnie do tego:
źródło
Począwszy od Wordpress 4.4, dodano funkcje add_term_meta () , update_term_meta () i get_term_meta () . Oznacza to, że kod podany przez MxmastaMills można zaktualizować, aby zastosować znacznie mniej hackerskie podejście.
Oto moja aktualizacja. Jest tylko jedno pole, które chciałem dodać niestandardowy tytuł, ale będzie działać tak samo dla wszystkich pól, które chcesz dodać.
źródło
edited_category
haczykutag_ID
będzie w$_POST
tablicy, a nie w$_GET
. Wadd_term_meta
rzeczywistości doda także nowy wpis zamiast zastępowania możliwego starego. Użyjupdate_term_meta
zamiast tego.Ten kod działa:
źródło
Paul Menard podał przykład tworzenia i korzystania z meta terminów na swoim blogu ...
Meta niestandardowe dla nowych systematyk w WordPress 3.0 .
Nie ma przykładu tworzenia tabeli DB lub sprawdzania, czy
$_POST
zmienne są ustawione, więc musisz sam zrobić te małe rzeczy, ale wygląda to na porządną bazę kodu do zbudowania na ... :)źródło