Thật khó để tuyên bố thực hành tốt nhất ở đây.
Vị trí phụ thuộc vào nội dung của metabox: trường biên tập sẽ quá hẹp thường ở cột bên; mặt khác, hai hộp kiểm nhỏ sẽ bị mất trong cột chính.
Để hiểu hộp nào sẽ được đặt, hãy sử dụng một plugin demo nhỏ:
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
và side/sorted
sẽ được đặt phía trên hộp Xuất bản , normal/high
ngay sau trình chỉnh sửa, */low
ở cuối màn hình và có thể khuất tầm nhìn.
Một số quy tắc tôi cố gắng tuân theo:
- Không di chuyển hộp Xuất bản . Người dùng có thể không tìm ra cách di chuyển hộp xuống. Điều này có thể rất khó chịu.
- Cố gắng hiểu tần suất một hộp có thể được sử dụng. Cài đặt bạn bật hoặc tắt chỉ một lần cho mỗi bài đăng sẽ rất thấp.
- Sắp xếp theo mức độ quan trọng: các hộp có các trường bắt buộc (giá của sản phẩm) phải rất nổi bật, một mô tả sẽ được trích xuất từ nội dung chính nếu trống, không phải lúc nào cũng có thể nhìn thấy.
- Một số người dùng sẽ di chuyển hộp ra khỏi tầm nhìn, một số người có thể vô hiệu hóa nó hoàn toàn. Chuẩn bị xử lý gọi lại của bạn cho điều đó.
- Sử dụng
normal/default
hoặc side/default
nếu bạn không chắc chắn.