Регистрация мета-ключей терминов в WordPress: полезная функция register_term_meta()

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 для регистрации мета-ключей для терминов. Это может быть очень полезно для создания настраиваемых полей и хранения дополнительной информации о ваших таксономиях.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *