如何在自定义帖子类型中删除菜单中的类别?

时间:2013-07-04 作者:Steven

我正在创建一个自定义的帖子类型,并添加了分类。这可以通过两种方式完成:

// In $args array
\'taxonomies\' => array(\'category\'),

// or calling a function
register_taxonomy_for_object_type( \'category\', \'my_custom_post_type_name\' );
在这两种情况下,左侧“管理”菜单中的“我的自定义帖子”菜单中都会显示一个附加的子菜单项。

类别已显示在下Post 菜单,所以我不需要再次显示它。有什么办法可以防止吗?

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

这个很快就被破解了。我不确定翻译是否会有问题,但我肯定会有问题。

function remove_menu_from_cpt() {
  global $submenu;
  $post_type = \'book\';
  $tax_slug = \'post_tag\';
  if (isset($submenu[\'edit.php?post_type=\'.$post_type])) {
    foreach ($submenu[\'edit.php?post_type=\'.$post_type] as $k => $sub) {
      if (false !== strpos($sub[2],$tax_slug)) {
        unset($submenu[\'edit.php?post_type=\'.$post_type][$k]);
      }
    }
  }
}
add_action(\'admin_menu\',\'remove_menu_from_cpt\');
它使用了“book”post类型和post标记,因为这对我来说很方便测试,但很明显需要更改什么才能使其适用于您的案例--我相信您需要:

$post_type = \'my_custom_post_type_name\';
$tax_slug = \'category\';

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register