Hoy necesitaba cambiar los argumentos de una taxonomía personalizada que ya estaba registrada por un complemento de terceros . Específicamente, quería establecer el show_admin_column
argumento true
y cambiar la rewrite
babosa para que no fuera solo la babosa de taxonomía. En este caso, era un tipo de publicación "Personas" con una taxonomía personalizada "Categoría de personas".
Me sorprendió que esto no se haya preguntado antes, así que aquí hay una pregunta y respuesta.
Respuestas:
register_taxonomy()
Es la herramienta para el trabajo. Del Codex:Una opción sería copiarlos
register_taxonomy()
$args
y modificarlos. Sin embargo, eso significaría que cualquier cambio futuro alregister_taxonomy()
código original se sobrescribirá.Por lo tanto, al menos en este caso, es preferible obtener los argumentos originales, modificar los que quiero cambiar y luego volver a registrar la taxonomía. La inspiración para esta solución se dirige a @Otto en esta respuesta a una pregunta similar sobre los tipos de publicaciones personalizadas .
Usando el
people
tipo de publicación personalizada y lapeople_category
taxonomía del ejemplo, esto lo hará:Tenga en cuenta que escribí el tercer
register_taxonomy()
argumento para el tipo de matriz esperado. Esto no es estrictamente necesario comoregister_taxonomy()
usoswp_parse_args()
que pueden manejar unobject
oarray
. Dicho esto,register_taxonomy()
's$args
se supone que deben ser presentados como unarray
acuerdo con el Codex, por lo que este se siente bien para mí.fuente
'people_category'
. Ej. ) Que la taxonomía original para sobrescribirla.capabilities
parámetro se almacena internamente,cap
por lo que no se pasará a la nueva taxonomía registrada. Vea mi respuesta a una pregunta similar aquí