Como remover o link "+ Adicionar nova categoria" de um metabótipo de categoria

9

Dentro de uma categoria Wordpress do metabox ou qualquer caixa de taxonomia personalizada, existe um link com o texto "+ Adicionar nova categoria", há uma maneira de remover esse link de preferência sem recorrer a hacks JS ou CSS para ocultá-lo ? Uma maneira de escondê-lo usando algum tipo de filtro ou gancho de ação seria melhor.

Se não existir nenhum método de gancho ou filtro de ação para removê-lo, eu estaria aberto a soluções JS e CSS como último recurso.

A razão pela qual estou fazendo isso é porque tenho uma instalação do Wordpress integrada ao Magento e estou criando e preenchendo uma taxonomia personalizada chamada "marcas" com uma lista de marcas do banco de dados Magento para que uma postagem possa ser atribuída a uma marca. . Obviamente, isso significa que eu não quero que os usuários possam adicionar em seus próprios termos e só possam escolher as marcas adicionadas dinamicamente para mantê-lo em sincronia com o Magento.

Obrigado.

    
por Dwayne Charrington 22.09.2011 / 01:16

1 resposta

13

Os metaboxes padrão são registrados no arquivo wp-admin/includes/meta-boxes.php . Lá você pode encontrar a função post_categories_meta_box() que irá gerar o metabox da taxonomia. Atualmente não há gancho disponível para filtrar a saída. Mas você pode fazer o seguinte:

  1. Use remove_meta_box() para remover o metabox da categoria existente e registre seu próprio com add_meta_box() . Copie & passe o código existente para sua nova função metabox e remova o bloco de código da linha 345 para 367 .
  2. A maneira mais limpa: remova o recurso edit_terms de suas funções de usuário com remove_cap() . Se você olhar na função metabox, na linha 345 você pode ver uma declaração if que verifica se o usuário tem o recurso edit_terms . Nesse caso, o + Add New XY será exibido. Problema aqui, o nome da capacidade é dinâmico e pode ser qualquer coisa. Se alguém registrar uma taxonomia com uma nomenclatura de capacidade diferente, isso provavelmente não funcionará (não testado).
por rofflox 22.09.2011 / 10:00