Le plugin Yoasts SEO ajoute une metabox à l’écran de post-édition. J'essaie de supprimer cela pour les utilisateurs qui ne sont pas des éditeurs ou au-dessus.
J'ai essayé de mettre un appel remove_meta_box
sur admin_init, en essayant de supprimer l'action sur $ wpseo_metabox mais en vain.
Comment puis-je supprimer cette metabox sans demander l'intervention de l'utilisateur (l'utilisateur ne doit jamais savoir que la metabox existait, aussi cliquer sur les options de l'écran n'est pas une option)
Sur remove_meta_box
est une note:
Comme vous ne pouvez pas supprimer une méta-boîte tant qu'elle n'a pas été ajoutée, il est important de vous assurer que l'appel à remove_meta_box () se déroule dans le bon ordre.
WordPress SEO ajoute des méta-boîtes à l'action add_meta_boxes
avec la priorité par défaut - 10, qui s'exécutent après le admin_init
, pour ne pas les supprimer. Au lieu de cela, vous devez vous connecter à add_meta_boxes
, mais avec une priorité plus faible - 11, 12, etc.
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 );
Supprimez les métaboxes pour les comptes non-administrateurs:
add_filter ( 'manage_edit-post_columns', 'rkv_remove_columns' );
function rkv_remove_columns( $columns ) {
if ( ! current_user_can('administrator') ) {
unset( $columns['wpseo-score'] );
unset( $columns['wpseo-title'] );
unset( $columns['wpseo-metadesc'] );
unset( $columns['wpseo-focuskw'] );
}
return $columns;
}