Alguém conhece uma maneira de cancelar o registro de tipos de postagem personalizados?
Existe um equivalente a register_post_type()
?
Alguém conhece uma maneira de cancelar o registro de tipos de postagem personalizados?
Existe um equivalente a register_post_type()
?
unregister_post_type
. Veja Unregister um tipo de pós usando unregister_post_typeRespostas:
Atualmente, não há uma função para cancelar o registro de um tipo de postagem, mas o processo é bastante simples.
Andrew Nacin forneceu algum código sobre o trac, encontrado aqui e postado abaixo.
O cancelamento do registro de um tipo de postagem interno terá efeitos desconhecidos no WordPress, portanto, faça-o por sua conta e risco. O cancelamento do registro de um tipo de postagem personalizado deve ser perfeitamente seguro, mas naturalmente não limparia sua instalação (por exemplo, cancelar o registro de um tipo de postagem não equivale à remoção de dados do banco de dados).
Posso imaginar alguns cenários em que isso poderia ser necessário, mas a abordagem mais sensata (sempre que possível) seria simplesmente não registrar o tipo de postagem em primeiro lugar, se não for desejado.
fonte
register_post_type()
carregamento de cada página (init
) provavelmente é a estrutura do permalink (atualize-a e ela desaparecerá) e as postagens no banco de dados, que você poderá remover fazendoDELETE FROM wp_posts WHERE post_type = '[your custom post type]'
.A partir do WordPress 4.5, existe uma função para fazer isso
unregister_post_type
,. Exemplo:-fonte
unregister_post_type()
não exclui nada do banco de dados. Apenas impede que o tipo de postagem seja registrado.Isso funcionou para mim, como Rarst disse usando o remove_action (), se possível.
fonte
Como o t31os observou, é fácil remover o tipo de postagem da variável global.
Mas se você quer dizer um tipo de postagem não essencial, seria melhor procurar o código que o registra e desconectar
remove_action()
(se for um código decente, ele deve ser conectado ao invés de ser executado diretamente).fonte
register_post_type()
não é uma função que se presta muito bem a enganchar. A maneira normal de registrar um tipo de postagem é executar a função diretamente em uma função ligada ao init. A remoção dessa ação pode ter efeitos indesejados, pois muitas vezes haverá outras funcionalidades removidas com essa função.No WordPress versão 4.5 e superior, eles fornecem uma função para remover o tipo de postagem (unregister_post_type). Exemplo
Funcionará definitivamente.
fonte