Il est difficile de déclarer les meilleures pratiques ici.
Le placement dépend du contenu de la métabox: un champ d'éditeur serait trop étroit habituellement dans la colonne latérale; d'autre part, deux petites cases à cocher sembleront perdues dans la colonne principale.
Pour comprendre où la boîte sera placée, utilisons un petit plugin de démonstration:
add_action( 'add_meta_boxes_post', 'register_demo_metaboxes' );
function register_demo_metaboxes()
{
$contexts = array ( 'normal', 'advanced', 'side' );
$priorities = array ( 'high', 'sorted', 'core', 'default', 'low' );
foreach ( $contexts as $context )
foreach ( $priorities as $priority )
add_meta_box(
"demo-$context-$priority", // id
"$context/$priority", // title
'demo_metabox_callback', // callback
NULL, // screen
$context,
$priority
);
}
function demo_metabox_callback( $object, $box )
{
static $count = 1;
print "number " . $count++;
}
side/high
et side/sorted
sera placé au-dessus de la zone Publier , normal/high
immédiatement après l'éditeur, */low
à la fin de l'écran et probablement hors de vue.
Quelques règles que j'essaie de suivre:
- Ne déplacez pas la zone Publier . Les utilisateurs peuvent ne pas comprendre comment déplacer la boîte vers le bas. Cela peut être très ennuyeux.
- Essayez de comprendre à quelle fréquence une boîte peut être utilisée. Un paramètre que vous activez ou désactivez une seule fois par publication doit être très faible.
- Trier par importance: les cases avec les champs obligatoires (prix d'un produit) doivent être très visibles, une description qui sera extraite du contenu principal si elle est vide, n'a pas besoin d'être visible tout le temps.
- Certains utilisateurs se déplacer la zone hors de la vue, certains pourraient le désactiver complètement. Préparez vos gestionnaires de rappel pour cela.
- Utilisez
normal/default
ou side/default
si vous n'êtes pas sûr.