Tout est décrit dans le document du Codex ci-dessous, qui explique aussi quelles méthodes utiliser :
https://codex.wordpress.org/Function_Reference/remove_meta_box
Remarque intéressante : ça paraît bête mais il n’est pas possible de supprimer un “metabox” tant qu’il n’a pas été ajouté, d’où l’intérêt de mettre une priorité basse, si besoin, à l’action liée au menu d’admin ou au filtre.
Les deux méthodes marchent chez moi, que ce soit l’ajout d’une action au “admin_menu” ou l’ajout d’un filtre au hook “add_meta_boxes”.
<?php function dottaware_remove_post_metaboxes() { $args = array( 'public' => true, ); foreach ( get_post_types( $args, 'names' ) as $post_type ) { remove_meta_box( 'postcustom', $post_type, 'normal' ); // Custom fields. remove_meta_box( 'trackbacksdiv', $post_type, 'normal' ); // Trackbacks. remove_meta_box( 'commentstatusdiv', $post_type, 'normal' ); // Comments status. remove_meta_box( 'commentsdiv', $post_type, 'normal' ); // Comments. remove_meta_box( 'genesis_inpost_seo_box', $post_type, 'normal' ); // Genesis SEO. remove_meta_box( 'genesis_inpost_layout_box', $post_type, 'normal' ); // Genesis Layout. remove_meta_box( 'genesis_inpost_scripts_box', $post_type, 'normal' ); // Genesis Scripts. } } add_filter( 'add_meta_boxes', 'dottaware_remove_post_metaboxes', 99 ); // alternative method. // add_action( 'admin_menu', 'dottaware_remove_post_metaboxes', 99 );
D’autres exemples sont présentés dans des documents ci-dessous, mais la méthode reste la même.
https://developer.wordpress.org/reference/functions/remove_meta_box/
https://developer.wordpress.org/reference/hooks/add_meta_boxes/
https://premium.wpmudev.org/blog/remove-wordpress-meta-boxes/
https://github.com/jaredatch/Tasty/blob/master/inc/wordpress-cleanup.php