REGISTER_TERM_META() │ WP 4.9.8
Функция register_term_meta()
помогает зарегистрировать мета-ключ для терминов в WordPress.
Для чего это нужно?
Эта функция полезна для хранения дополнительной информации о терминах (категориях, тегах и других структурированных данных). Например, вы можете сохранить определенные настройки для каждой категории, которые позже можно будет извлечь и использовать на сайте.
Как работает функция?
Функция register_term_meta()
принимает три аргумента:
register_term_meta( $taxonomy, $meta_key, $args );
- $taxonomy (строка) (обязательный) – Название таксономии, для которой регистрируется мета-ключ. Если передать пустую строку, мета-ключ будет зарегистрирован для всех существующих таксономий.
- $meta_key (строка) (обязательный) – Название мета-ключа, который вы хотите зарегистрировать.
- $args (массив) (обязательный) – Массив данных, описывающий мета-ключ при регистрации. Дополнительные параметры можно посмотреть в документации функции
register_meta()
.
Что возвращает функция?
Функция возвращает true
, если мета-ключ зарегистрирован успешно, и false
в противном случае.
Примеры использования
Пример 1: Регистрация мета-поля для таксономии "shelves"
register_term_meta( 'shelves', 'my_meta_key', [
'show_in_rest' => true, // Добавить в ответ REST API
'sanitize_callback' => 'absint', // Обработать значение поля при сохранении в базу данных
]);
В этом примере мы регистрируем мета-ключ my_meta_key
для таксономии shelves
. Параметр show_in_rest
говорит, что этот ключ будет доступен в REST API.
Пример 2: Расширенное значение для атрибута show_in_rest
register_term_meta( 'replica', 'nice_field', [
'type' => 'string',
'description' => 'хорошее описание',
'single' => true,
'show_in_rest' => [
'schema' => [
'type' => 'string',
'format' => 'url',
'context' => [ 'view', 'edit' ],
'readonly' => true,
]
],
]);
В этом примере мета-ключ nice_field
дополнительно описывается с помощью схемы, что делает его удобным для использования в REST API.
Как работает функция?
Вот как выглядит базовая реализация register_term_meta()
в коде WordPress:
function register_term_meta( $taxonomy, $meta_key, array $args ) {
$args['object_subtype'] = $taxonomy;
return register_meta( 'term', $meta_key, $args );
}
Здесь функция register_meta()
фактически регистрирует мета-ключ, добавляя параметры для конкретной таксономии.
Заключение
Теперь вы знаете, как использовать функцию register_term_meta()
в WordPress для регистрации мета-ключей для терминов. Это может быть очень полезно для создания настраиваемых полей и хранения дополнительной информации о ваших таксономиях.