Existe-t-il un moyen de supprimer "Publish metabox" de chaque type de message (post, page, custom_post_type)?.
Je sais comment le supprimer manuellement, pour chaque type de message, mais comment le faire globalement?
remove_metabox(...)
Si vous connaissez les outils de développement de navigateur, vous pouvez rapidement trouver l'ID de la metabox (qui est l'ID de conteneur). Dans ce cas, cela s'appelle submitdiv
. Nous pouvons le supprimer en utilisant la fonction remove_meta_box()
qui a un format comme celui-ci:
remove_meta_box( 'metabox_id', 'post_type', 'default_position' );
remove_meta_box( 'submitdiv', 'post', 'side' );
Voici une liste des identifiants Metabox par défaut . Si nous voulons supprimer une certaine métabox de tous les types de publication , nous devons d’abord obtenir tous les types de publication à l’aide de la fonction get_post_types()
qui renvoie un tableau. . Ensuite, nous pouvons parcourir et supprimer la metabox en passant le post_type
dans notre fonction remove_meta_box()
.
/**
* Hide Metaboxes For All Post Types
*/
function hide_publish_metabox() {
$post_types = get_post_types( '', 'names' );
if( ! empty( $post_types ) ) {
foreach( $post_types as $type ) {
remove_meta_box( 'submitdiv', $type, 'side' );
}
}
}
add_action( 'do_meta_boxes', 'hide_publish_metabox' );