您可以使用remove_meta_box() 要做到这一点。
使用remove_meta_box()
您需要3条信息:
在id
要删除的元框的screen
(或屏幕)要将其从context
它被添加到(例如,“side”、“normal”等)要获取这3条信息,请通过源代码搜索主题add_meta_box()
用于添加元框的调用。
如果不明显,一定要打电话remove_meta_box()
在被触发的动作中after 添加元框的任何操作。
例如,如果主题看起来像:
add_action (\'after_theme_setup\', \'add_theme_meta_boxes\') ;
function
add_theme_meta_boxes ()
{
add_meta_box (\'ad-to-upgrade-to-pro\', \'Upgrade to Pro\', \'render_upgrade_ad\', \'post\', \'normal\', \'high\') ;
return ;
}
your插件应包含以下内容:
// make sure you hook to an action that is fired *after* the meta box was added
add_action (\'init\', \'remove_theme_ad_meta_box\') ;
function
remove_theme_ad_meta_box ()
{
remove_meta_box (\'ad-to-upgrade-to-pro\', \'post\', \'normal\') ;
return ;
}
编辑以回答评论中提出的问题:不可能
absolutely 确保没有其他主题/插件添加元框。
此外,像WP这样的开放系统not 做你想做的事是个好主意(IMHO)。在野外有一大堆“通用”插件,它们有合法的理由向您的CPT中添加元框post{,-new}.php
屏幕。
例如WordPress SEO 插件为任何“可查看”的帖子类型添加了一个元框,允许将与SEO相关的元数据添加到帖子的公共页面(注:提及WordPress SEO是not 这只是我第一次想到的背书)。