En los documentos de la API en el sitio del plugin de SEO de Yoast no se mencionó qué era ID
y no tengo una copia de Yoast instalada, pero de acuerdo con yoas-plugin-dir/admin/class-metabox.php
line 144, la meta_box registrado es;
add_meta_box( 'wpseo_meta', ...etc ); ...
Que se engancha en add_meta_boxes
hook en la línea 32 del mismo archivo,
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
Por supuesto, puede obtener la ID desde el cuadro de meta en la pantalla de edición de publicación ... De todos modos.
Puedes hacer lo siguiente,
add_action('add_meta_boxes', 'yoast_is_toast', 99);
function yoast_is_toast(){
//capability of 'manage_plugins' equals admin, therefore if NOT administrator
//hide the meta box from all other roles on the following 'post_type'
//such as post, page, custom_post_type, etc
if (!current_user_can('activate_plugins')) {
remove_meta_box('wpseo_meta', 'post_type', 'normal');
}
}
... donde tipo de publicación es el tipo de publicación al que deseas aplicar esta restricción, como post
o una publicación personalizada tipo uno o más.
Debería hacer el truco.
actualización: manage_plugins
debería haber sido activate_plugins
- enmendado.