Описание функции register_post_meta()
Функция register_post_meta() позволяет регистрировать метаполя для пользовательских типов записей, обеспечивая управление их доступностью и поведением. Эта функция упрощает работу с метаданными, предоставляя возможность устанавливать параметры валидации и доступности метаполей.
Регистрация метаполей позволяет упростить сохранение и извлечение данных, а также обеспечивает совместимость с REST API.
Параметры
$post_type
Тип: string
Обязательный: Да
Описание: Тип записи, для которого регистрируется метаполе
Возможные значения:
$meta_key
Тип: string
Обязательный: Да
Описание: Ключ метаполя
Возможные значения:
$args
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив аргументов для настройки метаполя
Возможные значения:
show_in_rest: 1,
single: 1,
type: string (например, ‘string’, ‘number’)
sanitize_callback: callable (функция очистки)
auth_callback: callable (функция проверки доступа)
Возвращаемое значение
Тип: void
Описание: Нет возвращаемого значения
Возможные значения:
Примеры использования
Простой пример регистрации метаполя для записей
register_post_meta('post', 'my_custom_field', array(
'show_in_rest' => true,
'single' => true,
'type' => 'string'
));
Метаполе будет доступно через REST API
Регистрация метаполя с функцией очистки для пользовательского типа записи
register_post_meta('custom_type', 'my_custom_field', array(
'show_in_rest' => true,
'sanitize_callback' => 'sanitize_text_field'
));
Функция sanitize_text_field будет использоваться для очистки данных
Безопасность
Валидация входных данных: Функция проверяет правильность типов данных для аргументов
Санитизация: Поддерживается функция очистки через sanitize_callback
Рекомендации: Используйте sanitize_callback для защиты от нежелательных данных
— Связанные функции
Получает метаданные для записи
Обновляет метаданные для записи
— Примечания
– Ограничения
Необходимо использовать уникальные ключи для каждого метаполя
– Частые проблемы
- Метаполе не отображается, если не выполнена правильная регистрация
- Ошибки при попытке доступа к несуществующему метаполю