WordPress : Suppression de la méta-boîte personnalisée ajoutée au thème parent

Publié par Jean-Michel le

J’utilise un thème enfant et je souhaite modifier l’une des méta-boîtes définies dans le thème parent. La boîte de méta est pour les ‘pages’ seulement. J’ai essayé d’utiliser la remove_meta_box dans mon functions.php, mais cela n’a aucun effet :

function remove_parents_box() {
    remove_meta_box( 'id-of-meta-box' , 'page' , 'normal' );
}
add_action( 'admin_menu' , 'remove_parents_box' );

Des idées?

Complément à la question :
j’ai constaté que le thème parent utilise :

add_action( 'admin_menu', 'lala_create_meta_box_page' );
add_action( 'save_post', 'lala_save_meta_data_page' );

Pour lancer cette méta-boîte. Comme je souhaite créer la méta-boîte avec mon propre code, dois-je réellement la supprimer par quelque chose comme:

remove_action( 'admin_menu', 'lala_create_meta_box_page',999 );

Et puis créer ma propre méta-boîte ?

Solution n°1 trouvée

Remarque : Il s’agit de la version fusionnée entre les réponses my et @toscho.

Explication (par @toscho)

Utiliser add_meta_boxes_pagecomme crochet d’action.

Vous pouvez trouver le crochet dans wp-admin/edit-form-advanced.phpet il s’affiche comme suit :

do_action('add_meta_boxes_' . $post_type, $post);

Solutions)

Essayez l’action suivante, qui se trouve également à l’intérieur register_post_type().

function wpse59607_remove_meta_box( $callback )
{
    remove_meta_box( 'id-of-meta-box' , 'page' , 'normal' );
}
add_action( 'add_meta_boxes_page', 'wpse59607_remove_meta_box', 999 );

Si vous connaissez la position exacte où l’action qui ajoute la méta-boîte est enregistrée, vous pouvez également simplement supprimer celle-ci.

function wpse59607_remove_meta_box()
{
    remove_action( 'admin_menu', 'lala_create_meta_box_page' );
}
add_action( '_admin_menu', 'wpse59607_remove_meta_box', 999 );

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *