WordPress函数remove_meta_box()移除Meta模块
描述:
移除Meta模块
用法:
<?phpremove_meta_box($id,$page,$context);?>
参数:
$id
(string)(必填)要删除的HTML元素的id属性的值。下面给出了一些可用的id值:
"authordiv"–作者
"categorydiv"–分类
"commentstatusdiv"–评论状态
"commentsdiv"–评论
"formatdiv"–文章形式
"pageparentdiv"–属性
"postcustom"–自定义字段
"postexcerpt"–摘要
"postimagediv"–特色图像
"revisionsdiv"–修订版本
"slugdiv"–bie名
"submitdiv"–日期、状态、最后修订日期
"tagsdiv-post_tag"–标签
"{$tax-name}div"-自定义分类
"trackbacksdiv"–Trackbacks
...
默认值:None
$page
(string)(必填)要删除哪个文章类型下的Meta模块,例如:
"post"
"page"
"attachment"
"link"
"dashboard"
或任意自定义文章类型,例如."my-product"
默认值:None
$context
(string)(必填)"normal","advanced",or"side".
默认值:None
示例:
if(is_admin()):
functionmy_remove_meta_boxes(){
if(!current_user_can("manage_options")){
remove_meta_box("linktargetdiv","link","normal");
remove_meta_box("linkxfndiv","link","normal");
remove_meta_box("linkadvanceddiv","link","normal");
remove_meta_box("postexcerpt","post","normal");
remove_meta_box("trackbacksdiv","post","normal");
remove_meta_box("postcustom","post","normal");
remove_meta_box("commentstatusdiv","post","normal");
remove_meta_box("commentsdiv","post","normal");
remove_meta_box("revisionsdiv","post","normal");
remove_meta_box("authordiv","post","normal");
remove_meta_box("sqpt-meta-tags","post","normal");
}
}
add_action("admin_menu","my_remove_meta_boxes");
endif;
源文件:
/**
*Removeametaboxfromaneditform.
*
*@since2.6.0
*
*@globalarray$wp_meta_boxes
*
*@paramstring$idStringforuseinthe"id"attributeoftags.
*@paramstring|object$screenThescreenonwhichtoshowthebox(post,page,link).
*@paramstring$contextThecontextwithinthepagewheretheboxesshouldshow("normal","advanced").
*/
functionremove_meta_box($id,$screen,$context){
global$wp_meta_boxes;
if(empty($screen))
$screen=get_current_screen();
elseif(is_string($screen))
$screen=convert_to_screen($screen);
$page=$screen->id;
if(!isset($wp_meta_boxes))
$wp_meta_boxes=array();
if(!isset($wp_meta_boxes[$page]))
$wp_meta_boxes[$page]=array();
if(!isset($wp_meta_boxes[$page][$context]))
$wp_meta_boxes[$page][$context]=array();
foreach(array("high","core","default","low")as$priority)
$wp_meta_boxes[$page][$context][$priority][$id]=false;
}