Supprimer les catégories / balises du menu Admin


8

Je souhaite supprimer ou masquer le sous-menu Catégories / Tags sous Messages dans le menu Admin. Je sais que cela fonctionne avec les sous-menus de thèmes:

remove_submenu_page( 'themes.php', 'widgets.php' );

La même chose ne semble malheureusement pas fonctionner pour les publications:

remove_submenu_page( 'edit.php', 'edit-tags.php' );

J'utilise l'action admin_menu: add_action( 'admin_menu', 'function_call' )

Dois-je ajouter autre chose?


2
Upvote cette question, vous païens !!!
Spencer Williams

Réponses:


13
add_action('admin_menu', 'my_remove_sub_menus');

function my_remove_sub_menus() {
    remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=category');
    remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=post_tag');
}

Je ne vois pas cela masquer les zones de balises et de catégories dans la section Modification rapide, mais je le fais remove_meta_boxcomme décrit.
Spencer Williams

Ce n'est pas la méthode préférée, c'est comme les supprimer en utilisant CSS, ne garantit rien. vérifier la réponse mbacon40, il semble prometteur.
jnhghy - Alexandru Jantea

@ jnhghy-JanteaAlexandru remove_submenu_pagen'utilise pas CSS pour supprimer le sous-menu, il supprime l'entrée du tableau de menu global (voir source ) afin que le balisage HTML du menu ne soit pas rendu du tout (et pas CSS caché). Cependant, il est vrai que , dans certains cas , il ne peut pas empêcher les utilisateurs d'accéder à l'écran du sous - menu directement supprimé (voir ticket # 18850 ) , mais OP a demandé de retirer le menu, et il est le chemin à parcourir.
gmazzap

@gmazzap Je faisais une comparaison. Le supprimer de cette façon ne garantira pas que les balises ne sont pas ajoutées par d'autres moyens (frontal), j'essayais de souligner que cela supprime uniquement l'entrée de menu et non la connexion de type de publication à la taxonomie. :)
jnhghy - Alexandru Jantea

7

Si vous souhaitez supprimer complètement les catégories et les balises, vous pouvez le faire comme ceci:

// Remove Categories and Tags
add_action('init', 'myprefix_remove_tax');
function myprefix_remove_tax() {
    register_taxonomy('category', array());
    register_taxonomy('post_tag', array());
}

5

Vous pouvez également supprimer les métadonnées de la page de création de publication

// REMOVE POST META BOXES
function remove_my_post_metaboxes() {
  remove_meta_box( 'categorydiv','post','normal' ); // Categories Metabox
  remove_meta_box( 'tagsdiv-post_tag','post','normal' ); // Tags Metabox
}
add_action('admin_menu','remove_my_post_metaboxes');

1

Grâce à @ mbacon40 et à @gmazzap, j'ai pu l'utiliser pour supprimer les balises et catégories de produits (product_tag et product_cat) de mon menu et des pages d'ajout / modification de produits.

// Remove Categories and Tags
add_action('init', 'myprefix_remove_tax');
function myprefix_remove_tax() {
    register_taxonomy('product_cat', array());
    register_taxonomy('product_tag', array());
}

add_action('admin_menu', 'my_remove_sub_menus');
function my_remove_sub_menus() {
    remove_submenu_page('edit.php', 'edit-tags.php?    taxonomy=product_cat&post_type=product');
    remove_submenu_page('edit.php', 'edit-tags.php?    taxonomy=product_tag&post_type=product');
}

0

pour une raison quelconque, le fichier edit.php ne fonctionne pas dans ma configuration 5.3

Cela fonctionne cependant

remove_submenu_page( 'edit-tags.php?taxonomy=category', 'edit-tags.php?taxonomy=post_tag' );
remove_submenu_page( 'edit-tags.php?taxonomy=category', 'edit-tags.php?taxonomy=category' );
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.