更改自定义分类的子菜单位置

时间:2014-10-08 作者:Michelle

我正在为Posts post类型添加一个额外的分类法,并希望它出现在控制面板Posts子菜单中的类别和标记之间。我知道在注册自定义贴子类型时,您可以通过menu_position 参数,但我找不到任何类似的自定义分类法-它们似乎只是添加到列表的底部。

有人知道这样做的方法吗?谢谢

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

不幸的是,不存在一种干净的方法来做到这一点,因为注册分类法不提供menu_order 论点

但你可以采取全球行动$submenu 变量并对其重新排序,类似于

add_action( \'admin_menu\', function() {
  global $submenu;
  $found = FALSE;
  $before = $after = array();
  $tax_slug = \'my_custom_tax\'; // change your taxonomy name here
  foreach ( $submenu[\'edit.php\'] as $item ) {
    if ( ! $found || $item[2] === \'edit-tags.php?taxonomy=\' . $tax_slug ) {
      $before[] = $item;
    } else {
      $after[] = $item;
    }
    if( $item[2] === \'edit-tags.php?taxonomy=category\' ) $found = TRUE;
  }
  $submenu[\'edit.php\'] = array_values( array_merge( $before, $after ) );
}, 0 );

结束

相关推荐