描述
可以移除文章、頁(yè)面編輯界面的Meta模塊,還可以移除儀表盤的Meta模塊。
用法
<?php remove_meta_box( $id, $page, $context ); ?>
參數(shù)
$id
(字符串)(必需)所要移除的Meta模塊的HTML 的 id 屬性。部分可用的 id 如下:
-
‘authordiv’ – 作者模塊
‘categorydiv’ – 分類模塊
‘commentstatusdiv’ – 評(píng)論狀態(tài)模塊
‘commentsdiv’ – 評(píng)論模塊
‘formatdiv’ – 文章格式模塊
‘pageparentdiv’ – 頁(yè)面屬性模塊
‘postcustom’ – 自定義字段模塊
‘postexcerpt’ – 摘要模塊
‘postimagediv’ – 特色圖像模塊
‘revisionsdiv’ – 版本模塊
‘slugdiv’ – 別名模塊
‘submitdiv’ – 發(fā)布 模塊
‘tagsdiv-post_tag’ – 標(biāo)簽?zāi)K
‘trackbacksdiv’ – 發(fā)送 trackback 模塊
…
- 默認(rèn)值:無
- $page
-
(字符串)(必需)要從那個(gè)編輯界面移除Meta模塊,可用值:
-
‘post’ – 文章編輯界面
‘page’ – 頁(yè)面編輯界面
‘attachment’ – 附件編輯界面
‘link’ – 鏈接編輯界面
‘dashboard’ – 儀表盤
或者已注冊(cè)的自定義文章類型的編輯界面,例如 ‘my-product’
- 默認(rèn)值:無
- $context
- (字符串)(必需)所要?jiǎng)h除的Meta模塊所在的位置,可選值: ‘normal’, ‘advanced’, or ‘side’.
- 默認(rèn)值:無
示例
對(duì)非管理員賬戶,移除文章和鏈接編輯界面的某些Meta模塊:
if (is_admin()) :
function my_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;
在文章編輯界面移除自定義字段模塊:
<?php
function remove_post_custom_fields() {
remove_meta_box( 'postcustom' , 'post' , 'normal' );
}
add_action( 'admin_menu' , 'remove_post_custom_fields' );
?>
在文章編輯界面移除摘要模塊:
<?php
function remove_page_excerpt_field() {
remove_meta_box( 'postexcerpt' , 'page' , 'normal' );
}
add_action( 'admin_menu' , 'remove_page_excerpt_field' );
?>
在頁(yè)面編輯界面移除作者、評(píng)論狀態(tài)和評(píng)論模塊:
<?php
function remove_page_fields() {
remove_meta_box( 'commentstatusdiv' , 'page' , 'normal' ); //removes comments status
remove_meta_box( 'commentsdiv' , 'page' , 'normal' ); //removes comments
remove_meta_box( 'authordiv' , 'page' , 'normal' ); //removes author
}
add_action( 'admin_menu' , 'remove_page_fields' );
?>
如果你想從自定義文章類型中移除某個(gè)Meta模塊,可以參考下面的例子:
function remove_custom_taxonomy()
{
remove_meta_box($custom_taxonomy_slug.'div', $custom_post_type, 'side' );
// $custom_taxonomy_slug 是自定義Meta模塊的別名, 例如 'genre' )
// $custom_post_type 是自定義文章類型的別名,例如 'movies' )
}
add_action( 'admin_menu', 'remove_custom_taxonomy' );
如果有必要,你甚至可以去除“發(fā)布”模塊:
function remove_publish_box()
{
remove_meta_box( 'submitdiv', 'custom_post_id', 'side' );
}
add_action( 'admin_menu', 'remove_publish_box' );
從儀表盤中移除Meta模塊,可以使用下面的代碼:
function remove_dashboard_widgets(){
remove_meta_box('dashboard_right_now', 'dashboard', 'normal'); // 概況
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal'); // 近期評(píng)論
remove_meta_box('dashboard_incoming_links', 'dashboard', 'normal'); // 鏈入鏈接
remove_meta_box('dashboard_plugins', 'dashboard', 'normal'); // 插件
remove_meta_box('dashboard_quick_press', 'dashboard', 'side'); // 快速發(fā)布
remove_meta_box('dashboard_recent_drafts', 'dashboard', 'side'); // 近期草稿
remove_meta_box('dashboard_primary', 'dashboard', 'side'); // WordPress blog
remove_meta_box('dashboard_secondary', 'dashboard', 'side'); // 其它 WordPress 新聞
// 使用 'dashboard-network' 作為第二個(gè)參數(shù),可以從多站點(diǎn)網(wǎng)絡(luò)的儀表盤移除Meta模塊
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');
源文件
remove_meta_box() 位于 wp-admin/includes/template.php
相關(guān)內(nèi)容
移除WordPress文章/頁(yè)面編輯窗口多余的meta模塊
WordPress自定義文章編輯頁(yè)面的分類和標(biāo)簽Meta模塊標(biāo)題
WordPress 儀表盤小工具接口(Dashboard Widgets API)




