it-swarm-ja.com

Add_meta_boxの "Advanced" $コンテキストは何ですか?

コーデックスでは、add_meta_boxのパラメータ$ contextを以下のオプションを持つものとしてリストしています。

  1. 普通の
  2. 進んだ

「高度な」とは何ですか?私はそれと「普通」の間に違いを見ません。

11
matt

Normalとadvancedの違いは、normalがadvancedの前にページに配置されることです。

たとえば、次の例では「Two」の前に「One」が表示されます。

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

コンテキストパラメータを切り替えると、編集ページの "One"の前に "Two"が表示されます。

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

また、自分でメタボックスをドラッグして並べ替えると、その順番が保存され、「通常」および「詳細」コンテキストより優先されるように見えます。

14
ampt