Qual é o contexto $ "Avançado" em add_meta_box?

11

No codex, ele lista o parâmetro $ context para o add_meta_box como tendo as seguintes opções:

  1. normal
  2. avançado
  3. lado

O que faz "avançado"? Não vejo diferença entre isso e "normal".

mate
fonte

Respostas:

15

A diferença entre normal e avançado é que o normal será colocado na página antes do avançado.

Por exemplo, o seguinte exibirá "Um" antes de "Dois"

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>";
}

Se você alternar o parâmetro de contexto, "Dois" será exibido antes de "Um" na página de edição:

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

Além disso, se você reordenar as meta boxes arrastando-as, essa ordem será salva e parecerá ter precedência sobre os contextos 'normal' e 'avançado'.

ampt
fonte
1
Obrigado. Essa é uma maneira estranha de eles decidirem usar $ context e $ priority.
mate