Yoasts插件在post编辑屏幕上添加了一个metabox。我试图为那些不是编辑器或以上的用户删除这些内容。
我尝试在remove_meta_box上调用admin_init,试图删除$wpseo_metabox上的操作,但没有结果。
如何在不需要用户干预的情况下删除此metabox (用户不应该知道存在的metabox,因此单击屏幕选项不是一个选项)。
发布于 2012-08-21 22:22:36
在remove_meta_box上有一个注释:
因为在添加了元框之前不能删除它,所以确保对remove_meta_box()的调用按正确的顺序进行是很重要的。
WordPress SEO在add_meta_boxes操作上添加了默认优先级- 10的元框,这是在admin_init之后运行的,因此不会删除它们。相反,您需要连接到add_meta_boxes,但是优先级较低- 11、12等等。
function mamaduka_remove_metabox() {
if ( ! current_user_can( 'edit_others_posts' ) )
remove_meta_box( 'wpseo_meta', 'post', 'normal' );
}
add_action( 'add_meta_boxes', 'mamaduka_remove_metabox', 11 );https://wordpress.stackexchange.com/questions/62573
复制相似问题