Описание функции add_meta_box()
Функция add_meta_box() позволяет разработчикам добавлять пользовательские метабоксы на экраны редактирования записей и страниц в админке WordPress. Она предоставляет возможность расширить интерфейс управления контентом, добавляя дополнительную информацию или функциональность.
Метабоксы могут содержать поля ввода, кнопки и другие элементы управления для взаимодействия с пользователем.
Параметры
$id
Тип: string
Обязательный: Да
Описание: Уникальный идентификатор метабокса
Возможные значения:
$title
Тип: string
Обязательный: Да
Описание: Заголовок метабокса, который будет отображаться в интерфейсе
Возможные значения:
$callback
Тип: callable
Обязательный: Да
Описание: Функция обратного вызова, которая выводит содержимое метабокса
Возможные значения:
$screen
Тип: string|array
Обязательный: Нет
По умолчанию: null
Описание: Экран(ы), на котором(ых) будет отображаться метабокс (например, ‘post’, ‘page’)
Возможные значения:
0: post
1: page
2: dashboard
3: custom_post_type
$context
Тип: string
Обязательный: Нет
По умолчанию: ‘normal’
Описание: Контекст отображения метабокса (‘normal’, ‘side’, ‘advanced’)
Возможные значения:
0: normal
1: side
2: advanced
$priority
Тип: string
Обязательный: Нет
По умолчанию: ‘default’
Описание: Приоритет метабокса (‘high’, ‘core’, ‘default’, ‘low’)
Возможные значения:
0: high
1: core
2: default
3: low
$callback_args
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив аргументов, передаваемых в функцию обратного вызова
Возможные значения:
Возвращаемое значение
Тип: void
Описание: Функция ничего не возвращает.
Возможные значения:
• Нет возвращаемого значения
Примеры использования
Добавление простого метабокса на экран редактирования поста
add_meta_box('my_custom_meta_box', 'Мой метабокс', 'my_custom_meta_box_callback', 'post');
Добавление метабокса на экран редактирования страницы в боковой панели с высоким приоритетом
add_meta_box('my_custom_meta_box', 'Мой метабокс', 'my_custom_meta_box_callback', 'page', 'side', 'high');
Проверка существования функции перед добавлением метабокса
if (!function_exists('my_custom_meta_box_callback')) { return; }
add_meta_box('my_custom_meta_box', 'Мой метабокс', 'my_custom_meta_box_callback', 'post');
Добавление метабокса для настроек плагина на экран редактирования поста
function my_plugin_add_meta_box() {
add_meta_box('my_plugin_meta', 'Настройки плагина', 'my_plugin_meta_callback', 'post');
}
add_action('add_meta_boxes', 'my_plugin_add_meta_box');
Безопасность
Валидация входных данных: Проверяйте входные данные в функции обратного вызова
Санитизация: Санитизируйте данные перед сохранением или выводом
Рекомендации: Используйте функции esc_html() и esc_attr() для вывода данных
— Связанные функции
Удаляет метабокс с экрана
Получает метаданные поста
— Примечания
– Ограничения
Необходимо учитывать, что метабоксы не поддерживаются для всех типов экранов
– Частые проблемы
- Метабокс не отображается, если неправильно задан экран
- Конфликты с другими плагинами, которые добавляют метабоксы