Es ist schwierig, hier Best Practices zu deklarieren.
Die Platzierung hängt vom Inhalt der Metabox ab: Ein Editorfeld ist normalerweise in der Seitenspalte zu eng; Zwei kleine Kontrollkästchen hingegen sehen in der Hauptspalte verloren aus.
Um zu verstehen, wo welche Box platziert wird, verwenden wir ein kleines Demo-Plugin:
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
und side/sorted
wird über dem platziert wird Veröffentlichen Feld normal/high
unmittelbar nach dem Editor, */low
am Ende des Bildschirms , und wahrscheinlich aus den Augen.
Einige Regeln versuche ich zu befolgen:
- Verschieben Sie das Feld Veröffentlichen nicht . Benutzer können möglicherweise nicht herausfinden, wie die Box nach unten verschoben werden soll. Das kann sehr nervig sein.
- Versuchen Sie zu verstehen, wie oft eine Box verwendet werden kann. Eine Einstellung, die Sie nur einmal pro Beitrag ein- oder ausschalten, sollte sehr niedrig sein.
- Reihenfolge nach Wichtigkeit: Felder mit erforderlichen Feldern (Preis eines Produkts) sollten sehr hervorgehoben sein. Eine Beschreibung, die aus dem Hauptinhalt extrahiert wird, wenn sie leer ist, muss nicht immer sichtbar sein.
- Einige Benutzer werden die Box aus den Augen bewegen, einige könnten es vollständig deaktivieren. Bereiten Sie Ihre Callback-Handler darauf vor.
- Verwenden Sie
normal/default
oder side/default
wenn Sie nicht sicher sind.