Cómo quitar el enlace "+ Agregar nueva categoría" de una categoría Metabox


9

Dentro de un metabox de categoría de Wordpress o de cualquier cuadro de taxonomía personalizado, hay un enlace con el texto "+ Agregar nueva categoría". ¿Hay alguna forma de que este enlace se pueda eliminar preferiblemente sin recurrir a hacks JS o CSS para ocultarlo? Sería mejor una forma de ocultarlo utilizando algún tipo de filtro o gancho de acción.

Si no existe un método de enganche o filtro de acción para eliminarlo, estaría abierto a las soluciones JS y CSS como último recurso.

La razón por la que hago esto es porque tengo una instalación de Wordpress integrada con Magento y estoy creando y completando una taxonomía personalizada llamada "marcas" con una lista de marcas de la base de datos de Magento para que se pueda asignar una publicación a una marca. Obviamente, esto significa que no quiero que los usuarios puedan agregar en sus propios términos y solo poder elegir las marcas agregadas dinámicamente para mantenerlo sincronizado con Magento.

Gracias.

Respuestas:


14

Los metaboxes predeterminados se registran en el archivo wp-admin/includes/meta-boxes.php. Allí puede encontrar la función post_categories_meta_box()que generará la metabox de la taxonomía. Actualmente no hay gancho disponible para filtrar la salida. Pero puede hacer uno de los siguientes:

  1. Use remove_meta_box()para eliminar la categoría metabox existente y registre la suya propia add_meta_box(). Copie y pegue el código existente en su nueva función metabox y elimine el bloque de código de la línea 345a 367.
  2. La forma más limpia: elimine la edit_termscapacidad de sus roles de usuario con remove_cap(). Si observa la función metabox, en línea 345puede ver una instrucción if que verifica si el usuario tiene la capacidad edit_terms. Si es así, + Add New XYse mostrará el. Problema aquí, el nombre de la capacidad es dinámico y podría ser cualquier cosa. Si alguien registra una taxonomía con un nombre de capacidad diferente, esto probablemente no funcionará (no probado).

1
Ah, sí. Capacidades es una buena manera en realidad. Sin embargo, no quiero eliminar la capacidad de otras taxonomías solo una en particular. Decidí que ocultar el enlace con un buen CSS antiguo era la opción más fácil. Gracias por las geniales sugerencias.
Dwayne Charrington

2
No puedo comentar sobre la publicación de rofflox, pero la capacidad parece haber cambiado a "manage_categories"
pkmatte

¡Gracias! Este es el mejor método que pude encontrar, lo estoy usando en un sitio múltiple, por lo que uso la capacidad "setup_network" para limitar que los administradores del sitio usen estas capacidades para una taxonomía agregada por un complemento que debe permanecer sin editar.
Sam
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.