Поддержка Проблемы и решения Позиционирование метаполей на странице в админке

  • Здравствуйте, друзья.

    Есть у нас замечательная функция

    add_meta_box()

    с параметром $context ( normal | advanced | side ).
    Вопрос — как задать расположение метабокса непосредственно под строкой заголовка? Выше визуального редактора не получается поднять. Пока что приходит на ум только руками с помощью JS.
    Ну и побочный вопрос — чем отличается normal от advanced ?

    Спасибо.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    как задать расположение метабокса непосредственно под строкой заголовка?

    Можно добавить блок с контекстом 'advanced' и приоритетом 'high' и затем привязать его вывод к действию edit_form_after_title.

    чем отличается normal от advanced ?

    Только тем, что блоки с контекстом 'normal' выводятся раньше.

    Спасибо, Сергей, буду пробовать.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Почти, только к edit_form_after_title привязать нужно вызов do_meta_boxes().

    Вот конкретный пример (тот же, что и по ссылке выше):

    function move_metabox_after_title() {
    	global $post, $wp_meta_boxes;
    
    	do_meta_boxes( get_current_screen(), 'advanced', $post );
    	unset( $wp_meta_boxes[ get_post_type( $post ) ]['advanced'] );
    }
    add_action('edit_form_after_title', 'move_metabox_after_title' );

    Да, пока написал, потом понял, спасибо)))

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Позиционирование метаполей на странице в админке» закрыта для новых ответов.