Teraz, gdy WordPress 4.4 jest już dostępny, możemy zacząć korzystać z nowych niesamowitych funkcji meta!
Wydaje się jednak, że nie ma prostego samouczka na temat dodawania podstawowego pola tekstowego do taksonomii. Próbowałem dostosować ten niesamowity samouczek Justina Tadlocka do moich potrzeb, usuwając cały kod związany z próbnikiem kolorów i zastępując go prostym polem wprowadzania tekstu ... ale to nie działa.
Czy ktoś może dostarczyć próbkę działającego kodu od podstaw? Bez sprawdzania poprawności danych, nonces, selektory kolorów ... tylko minimalne pole tekstowe, dodane do strony Dodaj taksonomię / Edytuj taksonomię.
Aktualizacja: w międzyczasie wprowadziłem kilka odmian tego fragmentu kodu:
Dodaj pole meta terminu do kategorii :
https://gist.github.com/ms-studio/543a0f7dd8ac05ccf037Dodaj pole meta terminu do tagu post :
https://gist.github.com/ms-studio/2d78ad3839e05ece2e48Dodaj pole meta terminu do niestandardowej taksonomii :
https://gist.github.com/ms-studio/fc21fd5720f5bbdfaddcDodaj kilka terminowych pól meta do niestandardowej taksonomii :
https://gist.github.com/ms-studio/aeae733f5fd9fc524bbc
Odpowiedzi:
Spowoduje to dodanie pola o nazwie „TERM META TEXT” do twoich kategorii. Wyciągnąłem ten nonce, ale naprawdę myślę, że powinien wrócić. Poza tym lepiej jest mieć pewne warunki sanitarne niż żadne. Ten przykład zawiera haczyki javascript i CSS, których możesz potrzebować lub nie, ale możesz szybko zobaczyć, jak wszystkie części idą w parze.
Cieszyć się!
źródło
___save_term_meta_text( $term_id )
... i to rozwiązało problem, metatekst jest teraz zapisywany podczas tworzenia nowego terminu! Dlatego akceptuję twoją odpowiedź, ponieważ zawiera dokładnie to, czego potrzebuję, aby zacząć.___add_form_field_term_meta_text()
funkcji. Po dodaniu wszystko działa zgodnie z oczekiwaniami.check_admin_referer( 'add-tag', '_wpnonce_add-tag' );
icheck_admin_referer( 'update-tag_' . (int) $_POST['tag_ID'] )
się'edit_category'
i'category_category'
działania.___register_term_meta_text()
funkcji trzeci parametr został uznany za przestarzały i zastąpiony tablicą. Będziesz musiał użyć czegoś takiego:$args = array( 'type' => 'string', 'description' => 'A text field', 'single' => 'false', 'sanitize_callback' => '___sanitize_term_meta_weare_product', 'auth_callback' => null, 'show_in_rest' => false, ); register_meta( 'term', '__term_meta_text', $args );