web-dev-qa-db-fra.com

Comment supprimer une metabox de taxonomie de style Catégorie (hiérarchique)?

Je me demandais si quelqu'un pouvait m'aider avec ça. Je suis actuellement en train de suivre le tutoriel de Shibashake sur la création de méta-boîtes personnalisées incluant la sélection de taxonomie ici: http://shibashake.com/wordpress-theme/wordpress-custom-taxonomy-input-panels . Ils montrent comment supprimer la metabox standard que Wordpress crée automatiquement pour les taxonomies à l’aide de la fonction remove_meta_box. Le seul problème est que, pour une raison quelconque, la fonction ne semble pas fonctionner sur les taxonomies qui fonctionnent en tant que catégories, c’est-à-dire celles où l’option hiérarchique est définie sur true. Je sais que la fonction fonctionne, car celles qui sont configurées en tant que balises disparaissent assez facilement. Je ne peux pas si ce n'est pas possible ou s'il y a quelque chose de spécial que je dois ajouter à l'un des paramètres pour que cela fonctionne.

Exemple:

$args = array( 
    'hierarchical' => false,  
    'label' =>'People',  
    'query_var' => true,  
    'rewrite' => true       
);
register_taxonomy('people', 'post',$args);

remove_meta_box('tagsdiv-people','post','side');

Cela fonctionne bien. Si je règle hiérarchique sur 'true, cependant, la méta-boîte reste en place.

Quelqu'un peut-il nous éclairer?

4
Manny Fleurmond

Les taxonomies non hiérarchiques (comme les balises) utilisent tagsdiv-{$tax_name}. Les taxonomies hiérarchiques (comme les catégories) utilisent {$tax_name}div.

Ceci pour des raisons historiques: les catégories ont été placées dans categorydiv, les balises dans tagsdiv. Lorsque la prise en charge de plusieurs taxonomies non hiérarchiques a été ajoutée , le nom tagsdiv a été étendu à tagsdiv-{$tax_name}. Lorsque, finalement, plusieurs taxonomies hiérarchiques ont été rendues possibles , ils ont choisi de généraliser categorydiv à {$tax_name}div.

7
Jan Fabry