Hoje eu precisava alterar os argumentos em uma taxonomia personalizada que já estava registrada por um plug-in de terceiros . Especificamente, eu queria definir o show_admin_column
argumento true
e alterar a rewrite
lesma para que não fosse apenas a lesma da taxonomia. Nesse caso, era um tipo de postagem "Pessoas" com uma taxonomia customizada "Categoria de pessoas".
Fiquei surpreso que isso não tenha sido feito antes, então aqui está uma pergunta e resposta.
Respostas:
register_taxonomy()
é a ferramenta para o trabalho. Do Codex:Uma opção seria copiar
register_taxonomy()
$args
e modificá-los. No entanto, isso significaria que quaisquer alterações futuras noregister_taxonomy()
código original seriam substituídas.Portanto, pelo menos nesse caso, é preferível obter os argumentos originais, modificar os que quero alterar e registrar novamente a taxonomia. A inspiração para esta solução está no @Otto nesta resposta a uma pergunta semelhante sobre tipos de postagem personalizados .
Usando o
people
tipo de postagem personalizada e apeople_category
taxonomia do exemplo, isso será feito:Observe acima que eu digitei o terceiro
register_taxonomy()
argumento no tipo de matriz esperado. Isso não é estritamente necessário, pois osregister_taxonomy()
usoswp_parse_args()
que podem manipular umobject
orarray
. Dito isto,register_taxonomy()
's$args
é suposto ser submetido como umarray
acordo com o Codex, de modo que este se sente bem para mim.fonte
'people_category'
) da taxonomia original para substituí-la.capabilities
parâmetro é armazenado internamente,cap
para que não seja passado para a nova taxonomia registrada. Veja a minha resposta a uma pergunta semelhante aqui