Трудно объявить лучшие практики здесь.
Размещение зависит от содержимого метабокса: поле редактора будет слишком узким, обычно в боковом столбце; с другой стороны, два небольших флажка будут выглядеть потерянными в главном столбце.
Чтобы понять, где будет расположен бокс, давайте воспользуемся небольшим демонстрационным плагином:
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
и side/sorted
будет помещен над полем « Публикация» , normal/high
сразу после редактора, */low
в конце экрана и, вероятно, вне поля зрения.
Некоторые правила, которым я стараюсь следовать:
- Не перемещайте окно публикации . Пользователи могут не понять, как переместить коробку вниз. Это может быть очень раздражающим.
- Постарайтесь понять, как часто можно использовать коробку. Параметр, который вы включаете или выключаете только один раз за пост, должен быть очень низким.
- Порядок по важности: поля с обязательными полями (цена продукта) должны быть очень заметными, описание, которое будет извлечено из основного содержимого, если оно пустое, не должно быть видно постоянно.
- Некоторые пользователи могут убрать окно из поля зрения, некоторые могут отключить его полностью. Подготовьте обработчики обратного вызова для этого.
- Используйте
normal/default
или, side/default
если вы не уверены.