web-dev-qa-db-fra.com

Comment réorganiser la position de la boîte à méta?

J'ai un type de message personnalisé qui a beaucoup de champ personnalisé que les catégories dans la boîte méta. Le problème est comment puis-je trier la méta-boîte dans l'ordre que je désirais?

Comme je le sais, il n’existe que les positions "haute", "principale", "normale" et "latérale" pour positionner la boîte méta, ce qui n’est pas un moyen pratique de trier la boîte. Disons que si je mets la position 'haute' pour deux boites de méta, comment puis-je savoir laquelle se trouve en haut ??

Merci

6
dev-jim

Les utilisateurs peuvent glisser-déposer des méta-boîtes et WordPress enregistrera la commande. Donc, dans un sens, l'ordre dans lequel ils ont été rendus n'a pas d'importance.

Vous savez lequel vient en premier parce que lorsque vous appelez add_meta_box, les arguments de votre boîte méta sont simplement placés dans un tableau global appelé $wp_meta_boxes. Quel que soit l'appel à add_meta_box arrivé en premier, ce sera la première méta-boîte.

4
chrisguitarguy

Dans l'exemple suivant, remplacezCPTpar le nom du type de poste, comme post, page, livre, événement, imaginaire, foobar,.

add_filter( 'get_user_option_meta-box-order_CPT', 'metabox_order' );
function metabox_order( $order ) {
    return array(
        'normal' => join( 
            ",", 
            array(       // vvv  Arrange here as you desire
                'customdiv-{CPT}',
                'authordiv',
                'slugdiv',
            )
        ),
    );
}
0
jessi