Qual è il contesto $ "Avanzato" in add_meta_box?


11

Nel codice elenca il parametro $ context per add_meta_box con le seguenti opzioni:

  1. normale
  2. Avanzate
  3. lato

Cosa fa "avanzato"? Non vedo alcuna differenza tra questo e "normale".

Risposte:


15

La differenza tra normale e avanzato è che normale verrà posizionato sulla pagina prima di avanzato.

Ad esempio, di seguito verrà visualizzato "Uno" prima di "Due"

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 cambi il parametro di contesto, allora "Due" verrà visualizzato prima di "Uno" nella pagina di modifica:

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

Inoltre, se riordini te stesso le meta box trascinandole in giro, quell'ordine viene salvato e sembra avere la precedenza sui contesti "normali" e "avanzati".


1
Grazie. È uno strano modo in cui hanno deciso di usare $ context e $ Priority.
opaco
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.