2010-11-22 69 views

回答

5

它说“taxonomy_to_remove”是您要输入要删除的分类的位置。例如,您可以将其替换为现有的post_tagcategory

add_action('init', 'unregister_taxonomy'); 
function unregister_taxonomy(){ 
    global $wp_taxonomies; 
    $taxonomy = 'taxonomy_to_remove'; 
    if (taxonomy_exists($taxonomy)) 
     unset($wp_taxonomies[$taxonomy]); 
} 
+0

不回答这个问题(最小的PHP版本5.4!)。这只是隐藏它 – Jeremy 2016-02-15 20:36:59

41

我建议你不要惹事实上的全球。它更安全地从注册类型中注销分类:register_taxonomy用于创建和修改。

function ev_unregister_taxonomy(){ 
    register_taxonomy('post_tag', array()); 
} 
add_action('init', 'ev_unregister_taxonomy'); 

要删除工具栏菜单项:

// Remove menu 
function remove_menus(){ 
    remove_menu_page('edit-tags.php?taxonomy=post_tag'); // Post tags 
} 

add_action('admin_menu', 'remove_menus'); 
+0

为我工作!似乎也是最本地化的影响。 – 2012-02-11 22:32:05

+0

这可以工作,但侧栏中的链接仍然存在! – 2014-03-27 15:22:21

+0

下面是如何删除边栏菜单条目: `function remove_menus(){ remove_menu_page('edit-tags.php?taxonomy = post_tag'); //发帖标签 } add_action('admin_menu','remove_menus');` – pixeline 2014-11-23 16:28:50

2

使用它在 'admin_init' 钩insetead不是 '初始化'

function unregister_taxonomy(){ 
    register_taxonomy('post_tag', array()); 
} 
add_action('admin_init', 'unregister_taxonomy'); 
0

add_action('admin_menu', 'remove_menu_items'); function remove_menu_items() { remove_submenu_page('edit.php','edit-tags.php?taxonomy=post_tag'); }

1

共注销并删除

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'); 
    }); 
相关问题