Como remover o link "+ Adicionar nova categoria" de uma metabox de uma categoria

9

Dentro de uma metabox de categoria do Wordpress ou qualquer caixa de taxonomia personalizada, existe um link com o texto "+ Adicionar nova categoria", existe 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 o 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 "brands" 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 apenas escolher as marcas adicionadas dinamicamente para mantê-lo sincronizado com o Magento.

Obrigado.

Dwayne Charrington
fonte

Respostas:

14

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 a metabox taxonomia. Atualmente, não há gancho disponível para filtrar a saída. Mas você pode fazer um dos seguintes:

  1. Use remove_meta_box()para remover a categoria existente metabox e registrar o seu próprio add_meta_box(). Copie e cole o código existente para sua nova função metabox e remova o bloco de código da linha 345para 367.
  2. A maneira mais limpa: Remova o edit_termsrecurso de suas funções de usuário com remove_cap(). Se você procurar na função metabox, on-line, 345poderá ver uma instrução if que verifica se o usuário tem a capacidade edit_terms. Nesse caso, o + Add New XYserá exibido. Problema aqui, o nome do recurso é dinâmico e pode ser qualquer coisa. Se alguém registrar uma taxonomia com uma nomeação de capacidade diferente, isso provavelmente não funcionará (não foi testado).
rofflox
fonte
11
Ah sim. Capacidades é uma boa maneira, na verdade. No entanto, não quero remover a capacidade de outras taxonomias, apenas uma em particular. Decidi ocultar o link com um bom CSS antiquado era a escolha mais fácil. Obrigado pelas ótimas sugestões.
Dwayne Charrington
2
Eu não posso comentar sobre o post de rofflox, mas os olhares capacidade de ter sido alterado para "manage_categories"
pkmatte
Obrigado! Esse é o melhor método que pude encontrar. Estou usando isso em vários sites. Portanto, usando o recurso "setup_network" para limitar os administradores do site a usar esses recursos para uma taxonomia adicionada por um plug-in que precisa permanecer sem edição.
Sam