Eliminarea Categoriilor / Etichetelor din Meniul Admin

20 aug. 2013, 00:54:15
Vizualizări: 26.8K
Voturi: 11

Vreau să elimin sau să ascund submeniul Categorii / Etichete de sub Articole în Meniul Admin. Știu că acest cod funcționează pentru submeniurile temelor:

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

Din păcate, aceeași metodă nu funcționează pentru articole:

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

Folosesc acțiunea admin_menu: add_action( 'admin_menu', 'function_call' )

Am nevoie să adaug altceva?

1
Comentarii

Votați în sus această întrebare, păgânilor!!!

Spencer Williams Spencer Williams
12 mar. 2016 00:55:35
Toate răspunsurile la întrebare 5
4
17
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');
}
20 aug. 2013 01:05:58
Comentarii

Nu văd ca această metodă ascunde zonele de etichete și categorii în secțiunea Editare Rapidă, dar funcția remove_meta_box funcționează conform descrierii.

Spencer Williams Spencer Williams
14 mar. 2016 18:10:36

Aceasta nu este metoda preferată, este ca și cum le-ai elimina folosind CSS, nu garantează nimic. Verifică răspunsul lui mbacon40, pare promițător.

jnhghy - Alexandru Jantea jnhghy - Alexandru Jantea
21 oct. 2016 00:49:26

@jnhghy-JanteaAlexandru remove_submenu_page nu folosește CSS pentru a elimina submeniul, ci elimină intrarea din array-ul global de meniuri (vezi sursa) astfel încât codul HTML pentru meniu nu este deloc randat (și nu ascuns prin CSS). Totuși, este adevărat că în unele cazuri poate să nu prevină accesul utilizatorilor direct la ecranul submeniului eliminat (vezi ticket #18850), dar OP a cerut eliminarea meniului, iar aceasta este metoda corectă de a proceda.

gmazzap gmazzap
24 oct. 2016 12:25:50

@gmazzap Făceam o comparație. Eliminarea în acest fel nu asigură că etichetele nu vor fi adăugate prin alte mijloace (front end), încercam să subliniez că această metodă elimină doar intrarea din meniu și nu conexiunea tipului de postare la taxonomie. :)

jnhghy - Alexandru Jantea jnhghy - Alexandru Jantea
24 oct. 2016 13:15:55
0
12

Dacă dorești să elimini complet categoriile și etichetele, poți face asta în felul următor:

// Elimină Categoriile și Etichetele
add_action('init', 'myprefix_remove_tax');
function myprefix_remove_tax() {
    register_taxonomy('category', array());
    register_taxonomy('post_tag', array());
}
17 aug. 2016 17:10:44
0

De asemenea, poți dori să elimini cutiile meta din pagina de creare a articolelor

// ELIMINĂ CUTIILE META DIN ARTICOLE
function remove_my_post_metaboxes() {
  remove_meta_box( 'categorydiv','post','normal' ); // Cutia Meta pentru Categorii
  remove_meta_box( 'tagsdiv-post_tag','post','normal' ); // Cutia Meta pentru Etichete
}
add_action('admin_menu','remove_my_post_metaboxes');
9 dec. 2014 18:42:39
0

Mulțumesc lui @mbacon40 și lui @gmazzap, am reușit să folosesc acest cod pentru a elimina Etichetele și Categoriile de Produse (product_tag și product_cat) din meniul meu și din paginile de adăugare/editare a produselor.

// Elimină Categoriile și Etichetele
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');
}
17 oct. 2017 07:01:38
0

din nu știu ce motiv, edit.php nu funcționează în configurația mea 5.3

Dar acest cod funcționează:

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' );
7 ian. 2020 11:42:41