Ich erstelle verschiedene benutzerdefinierte Beitragstypen und Taxonomien und möchte die Taxonomie „Beitrags-Tags“ aus dem standardmäßigen Beitragstyp „Beiträge“ entfernen. Wie mache ich das?
Danke.
Ich erstelle verschiedene benutzerdefinierte Beitragstypen und Taxonomien und möchte die Taxonomie „Beitrags-Tags“ aus dem standardmäßigen Beitragstyp „Beiträge“ entfernen. Wie mache ich das?
Danke.
Evan
Ich schlage vor, dass Sie sich nicht mit dem eigentlichen Global anlegen. Es ist sicherer, die Taxonomie einfach vom Beitragstyp abzumelden: register_taxonomy wird sowohl für die Erstellung als auch für die Änderung verwendet.
function ev_unregister_taxonomy(){
register_taxonomy('post_tag', array());
}
add_action('init', 'ev_unregister_taxonomy');
So entfernen Sie den Seitenleistenmenüeintrag:
// Remove menu
function remove_menus(){
remove_menu_page('edit-tags.php?taxonomy=post_tag'); // Post tags
}
add_action( 'admin_menu', 'remove_menus' );
Hat für mich funktioniert! Scheint auch der lokalisierteste Einfluss zu sein.
– Samuel Hulick
11. Februar 2012 um 22:32 Uhr
Das funktioniert, aber der Link in der Seitenleiste ist immer noch da!
– Lars Ebert
27. März 2014 um 15:22 Uhr
So entfernen Sie den Menüeintrag der Seitenleiste: function remove_menus(){ remove_menu_page('edit-tags.php?taxonomy=post_tag'); // Post tags } add_action( 'admin_menu', 'remove_menus' );
– Pixeline
23. November 2014 um 16:28 Uhr
Dies war die einfachste Lösung, außerdem wurde der Menüpunkt für mich ohne das zweite Skript entfernt.
– Ken Prince
22. Dezember 2014 um 19:51 Uhr
Ein kleiner Fehler, den ich hier gefunden habe: Die Taxonomie wird immer noch auf der Seite mit den Anzeigeoptionen angezeigt, wenn Sie Ihre Menüs bearbeiten. Um dies zu beheben, übergeben Sie einfach ein zusätzliches args-Array: register_taxonomy( 'post_tag', array(), array('show_in_nav_menus' => false) );
– Will Haynes
4. April 2015 um 16:28 Uhr
Vielleicht wäre eine technisch korrektere Methode zu verwenden unregister_taxonomy_for_object_type
add_action( 'init', 'unregister_tags' );
function unregister_tags() {
unregister_taxonomy_for_object_type( 'post_tag', 'post' );
}
Dies ist möglicherweise nicht erforderlich, aber Sie können prüfen, ob die Taxonomie bereits mit dem Objekttyp verknüpft ist, bevor Sie sie mit entfernen if ( is_object_in_taxonomy( 'post', 'post_tag' ) ) { ... }
– martisj
1. Januar 2017 um 21:20 Uhr
Wo steht ‘taxonomy_to_remove
‘ geben Sie die Taxonomie ein, die Sie entfernen möchten. Sie können es beispielsweise durch das vorhandene ersetzen, post_tag
oder category
.
add_action( 'init', 'unregister_taxonomy');
function unregister_taxonomy(){
global $wp_taxonomies;
$taxonomy = 'taxonomy_to_remove';
if ( taxonomy_exists( $taxonomy))
unset( $wp_taxonomies[$taxonomy]);
}
beantwortet die Frage nicht. Das verbirgt es nur
– Jeremy
15. Februar 2016 um 20:36 Uhr
Vollständige Abmeldung und Entfernung (mindestens PHP-Version 5.4!)
add_action('init', function(){
global $wp_taxonomies;
unregister_taxonomy_for_object_type( 'category', 'post' );
unregister_taxonomy_for_object_type( 'post_tag', 'post' );
if ( taxonomy_exists( 'category'))
unset( $wp_taxonomies['category']);
if ( taxonomy_exists( 'post_tag'))
unset( $wp_taxonomies['post_tag']);
unregister_taxonomy('category');
unregister_taxonomy('post_tag');
});
Es gibt eine neue Funktion zum Entfernen der Taxonomie aus WordPress.
Use unregister_taxonomy( string $taxonomy ) function
Siehe Einzelheiten: https://developer.wordpress.org/reference/functions/unregister_taxonomy/
Dies kann nicht für integrierte Taxonomien verwendet werden, also kann dies vermutlich nicht für “Tags” verwendet werden?
– Rick Curran
3. Oktober 2016 um 11:02 Uhr
Um eingebaute Taxonomie-ähnliche Tags zu entfernen, können wir diese Funktion unten verwenden: function mh_unregister_tags_for_posts() { unregister_taxonomy_for_object_type( ‘post_tag’, ‘post’ ); } add_action( ‘init’, ‘mh_unregister_tags_for_posts’ );
– Mahfuzul Hasan
28. September 2017 um 10:39 Uhr
Benutzer2957058
Verwenden Sie es im Hook ‘admin_init’ anstelle von ‘init’
function unregister_taxonomy(){
register_taxonomy('post_tag', array());
}
add_action('admin_init', 'unregister_taxonomy');
Dies kann nicht für integrierte Taxonomien verwendet werden, also kann dies vermutlich nicht für “Tags” verwendet werden?
– Rick Curran
3. Oktober 2016 um 11:02 Uhr
Um eingebaute Taxonomie-ähnliche Tags zu entfernen, können wir diese Funktion unten verwenden: function mh_unregister_tags_for_posts() { unregister_taxonomy_for_object_type( ‘post_tag’, ‘post’ ); } add_action( ‘init’, ‘mh_unregister_tags_for_posts’ );
– Mahfuzul Hasan
28. September 2017 um 10:39 Uhr
Vlad
add_action('admin_menu', 'remove_menu_items');
function remove_menu_items() {
remove_submenu_page('edit.php','edit-tags.php?taxonomy=post_tag');
}