Функция do_meta_boxes() в WordPress
Введение
Функция do_meta_boxes()
используется в WordPress для отображения метабоксов на экране администратора. Метабоксы — это специальные панели, которые помогают организовывать и отображать информацию на страницах редактирования постов, страниц и других типов контента.
Возврат
Функция возвращает целое число — количество метабоксов, которые были отображены.
Использование
do_meta_boxes( $screen, $context, $data_object );
Параметры
-
$screen (string | WP_Screen) (обязательный) — идентификатор экрана, на котором вы хотите отобразить метабоксы. Например, если вы создали новый экран с помощью функций
add_menu_page()
илиadd_submenu_page()
, убедитесь, что ваш идентификатор соответствует ограничениям функцииsanitize_key()
. -
$context (string) (обязательный) — контекст экрана, в котором будут отображаться метабоксы.
-
$data_object (mixed) (обязательный) — объект, который передается в коллбэк функции метабокса в качестве первого параметра. Чаще всего это объект, связанный с текущим экраном, например,
WP_Post
илиWP_Comment
.
Примеры
Пример 1: Регистрация и отображение метабокса
В этом примере показано, как зарегистрировать и отобразить пользовательский метабокс на вашей административной странице.
Регистрация метабокса
// Регистрация метабокса
add_meta_box( 'my-metabox', 'Заголовок метабокса', 'my_metabox_function', 'mymetabox_screen', 'normal' );
// Функция, которая выводит HTML-код метабокса
function my_metabox_function( $data ) {
echo $data[0] . ' ' . $data[1];
}
Вывод метабоксов
// Вывод всех метабоксов, зарегистрированных ранее, сейчас только один метабокс.
// Этот вызов должен быть вставлен на отдельной странице панели управления
do_meta_boxes( 'mymetabox_screen', 'normal', [ 'my', 'metabox' ] );
В результате на странице, где вызывается функция do_meta_boxes()
, мы увидим метабокс с текстом "my metabox".
Примечания
- Глобальная переменная:
$wp_meta_boxes
— это массив, который хранит состояние метабоксов.
Изменения
- В версии 2.5.0 функция была внедрена.
Код do_meta_boxes()
Вот как выглядит реализация функции do_meta_boxes()
в WordPress:
function do_meta_boxes( $screen, $context, $data_object ) {
global $wp_meta_boxes;
static $already_sorted = false;
if ( empty( $screen ) ) {
$screen = get_current_screen();
} elseif ( is_string( $screen ) ) {
$screen = convert_to_screen( $screen );
}
$page = $screen->id;
$hidden = get_hidden_meta_boxes( $screen );
printf( '
';
return $i;
}
Заключение
Функция do_meta_boxes()
— важный инструмент для разработчиков, которые хотят организовать информацию в административной панели WordPress. С помощью нее вы можете создавать пользовательские метабоксы, что улучшает взаимодействие с пользователями и упрощает управление контентом.