Entfernen Sie Kategorien / Tags aus dem Admin-Menü


8

Ich möchte das Untermenü Kategorien / Tags unter Beiträge im Admin-Menü entfernen oder ausblenden. Ich weiß, dass dies mit den Themen-Untermenüs funktioniert:

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

Das gleiche scheint leider nicht für Beiträge zu funktionieren:

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

Ich verwende die Aktion admin_menu: add_action( 'admin_menu', 'function_call' )

Muss ich noch etwas hinzufügen?


2
Stimmen Sie dieser Frage zu, ihr Heiden !!!
Spencer Williams

Antworten:


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');
}

Ich sehe nicht, dass die Tag- und Kategoriebereiche im Abschnitt "Schnellbearbeitung" ausgeblendet werden, aber ich remove_meta_boxarbeite wie beschrieben.
Spencer Williams

Dies ist nicht die bevorzugte Methode, es ist wie das Entfernen mit CSS, garantiert nichts. Überprüfen Sie die Antwort von mbacon40, es sieht vielversprechend aus.
jnhghy - Alexandru Jantea

@ jnhghy-JanteaAlexandru remove_submenu_pageverwendet kein CSS, um das Untermenü zu entfernen. Es entfernt den Eintrag aus dem globalen Menüarray (siehe Quelle ), sodass das HTML-Markup für das Menü überhaupt nicht gerendert wird (und nicht CSS-versteckt ist). Es ist jedoch richtig, dass es in einigen Fällen Benutzer möglicherweise nicht daran hindert, direkt auf den Bildschirm für das entfernte Untermenü zuzugreifen (siehe Ticket Nr. 18850 ), aber OP hat darum gebeten, das Menü zu entfernen, und dies ist der richtige Weg.
gmazzap

@gmazzap Ich habe einen Vergleich gemacht. Wenn Sie es auf diese Weise entfernen, wird nicht sichergestellt, dass Tags nicht auf andere Weise hinzugefügt werden (Front-End). Ich wollte darauf hinweisen, dass dadurch nur der Menüeintrag und nicht die Verbindung vom Post-Typ zur Taxonomie entfernt wird. :)
jnhghy - Alexandru Jantea

7

Wenn Sie Kategorien und Tags vollständig entfernen möchten, können Sie dies folgendermaßen tun:

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

5

Möglicherweise möchten Sie auch die Meta-Felder von der Seite "Post-Erstellung" entfernen

// 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

Dank @ mbacon40 und @gmazzap konnte ich damit Produkt-Tags und Kategorien (product_tag und product_cat) aus meinem Menü und von den Seiten zum Hinzufügen / Bearbeiten von Produkten entfernen.

// 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

Aus irgendeinem Grund funktioniert die edit.php in meinem Setup 5.3 nicht

Dies funktioniert jedoch

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' );
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.