这是两件不同的事情:
仅在一个页面中隐藏仅当页面使用特定模板时隐藏Case 1 - 在此示例中,页面ID为3
, 但请注意,删除是为了page
和post
相似:
add_action( \'admin_menu\', \'remove_post_meta_boxes\' );
function remove_post_meta_boxes()
{
if( isset( $_GET[\'post\'] ) && $_GET[\'post\'] == \'3\' )
{
remove_meta_box(\'tagsdiv-post_tag\', \'post\', \'normal\');
remove_meta_box(\'categorydiv\', \'post\', \'normal\');
remove_meta_box(\'postimagediv\', \'post\', \'normal\');
remove_meta_box(\'authordiv\', \'post\', \'normal\');
remove_meta_box(\'authordiv\', \'page\', \'normal\');
remove_meta_box(\'postexcerpt\', \'post\', \'normal\');
remove_meta_box(\'trackbacksdiv\', \'post\', \'normal\');
remove_meta_box(\'commentstatusdiv\', \'post\', \'normal\');
remove_meta_box(\'commentstatusdiv\', \'page\', \'normal\');
remove_meta_box(\'postcustom\', \'post\', \'normal\');
remove_meta_box(\'postcustom\', \'page\', \'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(\'authordiv\', \'page\', \'normal\');
remove_meta_box(\'slugdiv\', \'post\', \'normal\');
remove_meta_box(\'slugdiv\', \'page\', \'normal\');
}
}
<小时>
Case 2 - 更为复杂,因为它需要实时监听模板下拉框中的更改。
此问题(&;A有这样做的蓝图:Custom meta box shown when template is chosen