Что такое «расширенный» контекст $ в add_meta_box?

11

В кодексе он перечисляет параметр $ context для add_meta_box со следующими параметрами:

  1. обычный
  2. передовой
  3. боковая сторона

Что делает «продвинутый»? Я не вижу никакой разницы между этим и "нормальным".

матовый
источник

Ответы:

15

Разница между нормальным и продвинутым в том, что нормальный будет размещен на странице перед продвинутым.

Например, следующее будет отображать «Один» перед «Два»

function admin_init_test() {
    add_meta_box('one', __('One'), 'test_one', 'post', 'advanced');
    add_meta_box('two', __('Two'), 'test_two', 'post', 'normal');
}
add_action('admin_init', 'admin_init_test');

function test_two() {
    echo "<p>test_two</p>";
}
function test_one() {
    echo "<p>test_one</p>";
}

Если вы переключите параметр контекста, то «Two» будет отображаться перед «One» на странице редактирования:

add_meta_box('one', __('One'), 'test_one', 'post', 'normal');
add_meta_box('two', __('Two'), 'test_two', 'post', 'advanced');

Также, если вы измените порядок мета-блоков самостоятельно, перетаскивая их, тогда этот порядок будет сохранен и, по-видимому, будет иметь приоритет над «обычным» и «расширенным» контекстами.

AMPT
источник
1
Спасибо. Странным образом они решили использовать $ context и $ priority.
Мэтт