Fonction de rappel pour métabox de taxonomie personnalisée

4

Je cherche un moyen de déplacer ma métaboxe de taxonomie personnalisée (à droite) vers la zone de publication (au centre). Je suis conscient que vous pouvez simplement le glisser-déposer, mais je le veux par défaut pour les nouveaux utilisateurs.

Mon approche consistait à le supprimer à l'aide de remove_meta_box() , puis à le rajouter à l'aide de add_meta_box() . Le problème est que je ne sais pas quelle fonction de rappel appeler lorsqu’il est ajouté.

/* Remove movies metabox from sidepanel */
function hide_metabox(){
    remove_meta_box( 'tagsdiv-movies', 'movies' , 'side' );
}
add_action( 'admin_menu' , 'hide_metabox' );


/* Add back movies metabox, but in post area */
add_action('add_meta_boxes', 'add_back_post');
    function add_back_post(){
    /* Not sure what to put as the thrid argument */
    add_meta_box('tagsdiv-movies','Movies', 'WHAT_CALLBACK_ARG', 'movies', 'normal', 'high');
}

Personnalisémetabox"films"

En guise de remarque, j'ai créé la taxonomie à l'aide de Interface utilisateur de type publication personnalisée (interface utilisateur de CPT). qui suit essentiellement la procédure standard lors de la création d’une taxonomie personnalisée.

Je ne suis pas sûr non plus si cela répond à ma question car je ne suis pas tout à fait les informations fournies ici: Existe-t-il une fonction de rappel prédéfinie pour les catégories personnalisées? .

    
posée Dom 26.02.2018 - 23:26

1 réponse

5

Le rappel dont vous avez besoin pour les taxonomies non hiérarchiques est post_tags_meta_box .

Le rappel dont vous avez besoin pour les taxonomies hiérarchiques est post_categories_meta_box .

Pour votre exemple, le code serait:

/* Remove movies metabox from sidepanel */
function hide_metabox(){
    remove_meta_box(
        'tagsdiv-movies',
        'your-post-type' ,
        'side'
    );
}
add_action( 'admin_menu' , 'hide_metabox' );


/* Add back movies metabox, but in post area */
add_action('add_meta_boxes', 'add_back_post');
    function add_back_post(){
    add_meta_box(
        'tagsdiv-movies',
        'Movies',
        'post_tags_meta_box',
        'your-post-type',
        'normal',
        'high',
        array( 'taxonomy' => 'movies' )
    );
}

Une autre variable importante est l’ID de metabox. Dans votre exemple, tagsdiv-movies cible un metabox pour une taxonomie non hiérarchique avec slug movies . Si cette même taxonomie était hiérarchique, l'ID serait moviesdiv .

    
réponse donnée Milo 27.02.2018 - 03:54

Lire d'autres questions sur les étiquettes