Функция add_term_meta() в WordPress: использование, синтаксис, примеры

# Функция ADD_TERM_META() │ WP 4.4.0

Функция add_term_meta() позволяет добавлять метаданные к терминам в WordPress. Метаданные — это дополнительная информация, связанная с термином, например, категория или тег.

## Использование функции

Функция add_term_meta() добавляет метаданные к термину с определённым идентификатором.

### Синтаксис

```php
add_term_meta( $term_id, $meta_key, $meta_value, $unique );

Параметры

  • $term_id (int) (обязательный) — Идентификатор термина, к которому нужно добавить метаданные.
  • $meta_key (string) (обязательный) — Имя метаданных, которое вы хотите использовать.
  • $meta_value (mixed) (обязательный) — Значение метаданных. Если оно не является простым (например, массив или объект), то должно быть сериализуемым.
  • $unique (true|false) (необязательный) — Указывает, можно ли добавлять несколько значений с одним и тем же ключом. По умолчанию: false.

Возвращаемое значение

Функция возвращает:

  • int — Идентификатор метаданных в случае успеха.
  • false — Если произошла ошибка.
  • WP_Error — Если идентификатор термина не однозначен для разных таксономий.

Примеры

Пример 1: Добавление нескольких значений для одного мета-поля

В следующем примере мы добавим два значения для одного мета-поля:

$term_id  = 62;
$meta_key = 'test_meta_field';

// Добавляем значения
add_term_meta( $term_id, $meta_key, 'Hello world', false );
add_term_meta( $term_id, $meta_key, 'Hello world 2', false );

// Проверяем, что мы получили
$fields = get_term_meta( $term_id, $meta_key );

print_r( $fields );

/* вывод:
Array
(
    [0] => Hello world
    [1] => Hello world 2
)
*/

Пример 2: Добавление мета-поля с одним значением

В этом примере мы добавим одно значение для мета-поля и проверим, что повторное добавление такого же ключа не сработает:

$term_id = 62;
$meta_key = 'test_meta_field';

add_term_meta( $term_id, $meta_key, 'Hello world', true );

// Вывод
echo get_term_meta( $term_id, $meta_key, true ); //> Hello world

// Пытаемся добавить другое значение с тем же ключом
$done = add_term_meta( $term_id, $meta_key, 'Hello World 2', true );

var_dump( $done ); // bool(false)

Как работает функция

Функция add_term_meta() реализована следующим образом:

function add_term_meta( $term_id, $meta_key, $meta_value, $unique = false ) {
    if ( wp_term_is_shared( $term_id ) ) {
        return new WP_Error( 'ambiguous_term_id', __( 'Невозможно добавить метаданные для терминов, которые общие между таксономиями.' ), $term_id );
    }

    return add_metadata( 'term', $term_id, $meta_key, $meta_value, $unique );
}

Объяснение:

  1. Проверка на общие термины: Если термин используется в нескольких таксономиях, функция вернёт ошибку.
  2. Добавление метаданных: Если проверка пройдена, вызывается функция add_metadata(), которая и выполняет основное действие.

Что ещё нужно знать

Существуют и другие функции, связанные с метаданными, например:

  • add_comment_meta() — добавление метаданных к комментариям.
  • add_post_meta() — добавление метаданных к записям.
  • add_user_meta() — добавление метаданных к пользователям.

Эти функции работают аналогично add_term_meta(), но для разных объектов.

Теперь вы знаете, как добавлять метаданные к терминам в WordPress с помощью функции add_term_meta(). Эта функция полезна для расширения функциональности вашей таксономии и добавления к ней дополнительной информации.

Leave a Reply

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