Dzisiaj musiałem zmienić argumenty dotyczące niestandardowej taksonomii, która została już zarejestrowana przez wtyczkę strony trzeciej . W szczególności chciałem ustawić show_admin_column
argument true
i zmienić rewrite
ślimak, aby nie był to ślimak taksonomiczny. W tym przypadku był to typ postu „Ludzie” z niestandardową taksonomią „Kategoria osób”.
Byłem zaskoczony, że nie zadawano tego wcześniej, więc oto pytanie i odpowiedź.
Odpowiedzi:
register_taxonomy()
jest narzędziem do pracy. Z Kodeksu:Jedną z opcji byłoby skopiowanie
register_taxonomy()
$args
i zmodyfikowanie ich. Oznaczałoby to jednak, że wszelkie przyszłe zmiany w oryginalnymregister_taxonomy()
kodzie zostaną zastąpione.Dlatego przynajmniej w tym przypadku lepiej jest uzyskać oryginalne argumenty, zmodyfikować te, które chcę zmienić, a następnie ponownie zarejestrować taksonomię. Inspiracją dla tego rozwiązania jest @Otto w tej odpowiedzi na podobne pytanie dotyczące niestandardowych typów postów .
Korzystając z
people
niestandardowego typu postu ipeople_category
taksonomii z przykładu, zrobi to:Zauważ, że typuję trzeci
register_taxonomy()
argument do oczekiwanego typu tablicy. Nie jest to absolutnie konieczne, ponieważregister_taxonomy()
zastosowania,wp_parse_args()
które mogą obsłużyćobject
lubarray
. Powiedział, żeregister_taxonomy()
„s$args
mają być przedstawione w formiearray
według Codex, więc czuje się dobrze do mnie.źródło
'people_category'
) Co oryginalna taksonomia, aby go zastąpić.capabilities
parametr jest przechowywany wewnętrznie, ponieważcap
nie zostanie przekazany do nowej zarejestrowanej taksonomii. Zobacz moją odpowiedź na podobne pytanie tutaj