自定义-分类:删除“最常用”标签?

时间:2012-04-12 作者:mathiregister

我为一个自定义帖子类型创建了一个自定义分类法,它作为该帖子类型的类别。

“我的分类法”的Metabox有两个选项卡。一个是我的类别,另一个是“最常用”选项卡,就像普通帖子的普通类别一样。

有没有办法摆脱这个“最常用”的标签?

提前谢谢?

2 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

是-您需要首先“取消注册”WordPress自动创建的元数据库:

add_action( \'admin_menu\', \'myprefix_remove_meta_box\');  
function myprefix_remove_meta_box(){  
   remove_meta_box(\'my-tax-metabox-id\', \'post\', \'normal\');  
}  
在哪里my-tax-metabox-id 是元数据库的ID。然后“重新注册”元盒,提供您自己的回调函数,该函数在输出中生成:

//Add new taxonomy meta box  
 add_action( \'add_meta_boxes\', \'myprefix_add_meta_box\');  
 function myprefix_add_meta_box() {  
     add_meta_box( \'mytaxonomymetabox_id\', \'My Taxonomy\',\'myprefix_mytaxonomy_metabox\',\'post\' ,\'side\',\'core\');  
 }  

  function myprefix_mytaxonomy_metabox( $post ) {  
     //This function determines what displays in your metabox
     echo \'This is my taxonomy metabox\';  
  } 
然后,只需模仿“默认”层次结构的metabox标记,但删除选项卡即可。你可能会发现this article 我写道,我这样做的目的略有不同,很有帮助。简而言之,退房:http://core.trac.wordpress.org/browser/tags/3.3/wp-admin/includes/meta-boxes.php#L307

这是负责输出层次化元数据库的函数-您需要稍微更改它(删除选项卡,并定义$taxonomy 变量等。

SO网友:guidod

对于任何寻求更简单解决方案的人,您可以将以下CSS添加到后端,例如,假设所讨论的分类法是“eventtype”:

/* make sure tabs and the popular div itself are not shown */
#eventtype-pop,#eventtype-tabs{
    display: none !important;
}
/* make sure the All Terms div is always shown, and remove extra spacing and styles */
#eventtype-all,#eventtype-all,#eventtype-all ul,#eventtype-all ul{
    display: block !important;
    padding:0;
    margin:0;
    background: transparent;
    border:0;
}
您可以将此CSS添加到现有管理CSS或使用简单的管理挂钩:

add_action(\'admin_head\', \'adminCSS\');

function adminCSS(){
    ?><style type=\'text/css\'>
    /* make sure tabs and the popular div itself are not shown */
    #eventtype-pop,#eventtype-tabs{
        display: none !important;
    }
    /* make sure the All Terms div is always shown, and remove extra spacing and styles */
    #eventtype-all,#eventtype-all,#eventtype-all ul,#eventtype-all ul{
        display: block !important;
        padding:0;
        margin:0;
        background: transparent;
        border:0;
    }
    </style><?php
}
这个示例显示了内联CSS,但您可以很好地添加一个包含所有所需规则的外部CSS。

结束