register_term_meta()
Регистрирует метаполе для указанной таксономии.
Это обертка функции register_meta(), чтобы удобнее и понятнее было регистрировать метаполе для таксономии.
Чтобы сделать тоже самое для типа записи, смотрите register_post_meta().
Работает на основе: register_meta()
1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.26 сек (очень быстро) | PHP 7.1.11, WP 4.9.8
Хуков нет.
Возвращает
true|false
.
true - если мета-ключ был успешно зарегистрирован в глобальном массиве $wp_meta_keys.
false - если не удалось зарегистрировать ключ.
Использование
register_term_meta( $taxonomy, $meta_key, $args );
- $taxonomy(строка) (обязательный)
- Таксономия для которой регистрируется метаполе. Передайте пустую строку для регистрации мета-ключа для всех существующих таксономий.
- $meta_key(строка) (обязательный)
- Название ключа, который нужно зарегистрировать.
- $args(массив) (обязательный)
Данные описывающие метаполе. По умолчанию такие:
$args = array( 'type' => 'string', 'description' => '', 'single' => false, 'sanitize_callback' => null, 'auth_callback' => null, 'show_in_rest' => false, );
Описание каждого параметра смотрите в функции register_meta().
Примеры
#1 Регистрация метаполя для таксономии shelves
register_term_meta( 'shelves', 'my_meta_key', array( 'show_in_rest' => true, // Добавим в ответ REST 'sanitize_callback' => 'absint', // Обработаем значение поля при сохранение его в базу, функцией absint() ) );
Тоже самое можно сделать с помощью register_meta(), так:
register_meta( 'term', 'my_meta_key', array( 'object_subtype' => 'shelves', // таксономия 'show_in_rest' => true, 'sanitize_callback' => 'absint', ) );
#2 Расширенное значение атрибута show_in_rest
Использование этой функции с указанием schema
в атрибуте show_in_rest
. Добавляет это поле в rest запрос, а также описывает это поле в rest запросе OPTIONS.
register_term_meta( 'replica', 'nice_field', [ 'type' => 'string', 'description' => 'a nice description', 'single' => true, 'show_in_rest' => [ 'schema' => [ 'type' => 'string', 'format' => 'url', 'context' => [ 'view', 'edit' ], 'readonly' => true, ] ], ] );
Список изменений
С версии 4.9.8 | Введена. |
Код register_term_meta() register term meta WP 6.4.3
function register_term_meta( $taxonomy, $meta_key, array $args ) { $args['object_subtype'] = $taxonomy; return register_meta( 'term', $meta_key, $args ); }