删除附加到自定义帖子类型的自定义分类的管理菜单

时间:2011-07-09 作者:helgatheviking

我正在尝试创建一种隐藏的分类法。。这意味着我打算调整metabox,以便您只能从3个选项中选择唯一的术语。“特色”、“正常”或“排除”。但我不知道如何删除管理菜单。

以下内容将从帖子下方删除“标记”菜单项:

add_action(\'admin_menu\',\'yoursite_admin_menu\');
function yoursite_admin_menu() {
    // remove_submenu_page was introduced in 3.1
    remove_submenu_page( \'edit.php\', \'edit-tags.php?taxonomy=post_tag\' );
}
但这并没有从公文包下面删除特色分类法

add_action(\'admin_menu\',\'yoursite_admin_menu\');
function yoursite_admin_menu() {
    // remove_submenu_page was introduced in 3.1
    remove_submenu_page( \'edit.php?post_type=portfolio\', \'edit-tags.php?taxonomy=featured&post_type=portfolio\' );
}
对于鼻涕虫,我尝试了几种不同的方法,但都没有成功。我错过了什么?

3 个回复
最合适的回答,由SO网友:helgatheviking 整理而成

根据Bainternet的评论,我注册了分类法,但没有显示任何UI元素

add_action( \'init\', \'kia_register_featured_tax\', 0 );

function kia_register_featured_tax(){
    if(!taxonomy_exists(\'portfolio_featured\')){
        $labels = array(
            \'name\' => _x( \'Featured\', $this->plugin_domain ),
            \'singular_name\' => _x( \'Featured\', $this->plugin_domain )           
        );

        $args = array(
            \'labels\' => $labels,
            \'rewrite\' => array( \'slug\' => \'portfolio-featured\' ),
            \'query_var\' => true,
            \'public\' => true,
            \'show_ui\' => false,
            \'show_tagcloud\' => false,
            \'show_in_nav_menus\' => false,
        );
        register_taxonomy( \'portfolio_featured\', array( \'portfolio\' ), $args );
    }
}

SO网友:benz001

您可以使用remove_submenu_page(), 但是,要正确地使用子菜单slug是一件棘手的事情,它必须完全正确才能工作。正确的子菜单\\u slug与您在菜单中单击的链接不完全相同,菜单中的子菜单是URL编码的,但slug本身是html编码的,主要区别在于slug any& chars将改为&amp

在您的示例中,函数调用可能应该是:

remove_submenu_page( \'edit.php?post_type=portfolio\', \'edit-tags.php?taxonomy=featured&post_type=portfolio\' );
要真正正确地使用var\\u转储子菜单变量,您可以看到系统使用的实际slug,请参阅https://stackoverflow.com/questions/7610702/wordpress-remove-submenu-from-custom-post-type/ 对于一个工作示例。

SO网友:user2686172

这可能很旧,甚至可能在原始问题时也不可用,但。。

如果您查看wp includes/taxonomy。php在WordPress的文档中遗漏了register\\u taxonomy()钩子的菜单中显示选项。

在菜单中显示-是否在管理菜单中显示分类法<如果为true,则分类显示为对象类型菜单的子菜单

  • show\\u ui必须为true
  • 如果未设置,则从show\\u ui继承默认值
    结束

    相关推荐