# Функция 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 );
}
Объяснение:
- Проверка на общие термины: Если термин используется в нескольких таксономиях, функция вернёт ошибку.
- Добавление метаданных: Если проверка пройдена, вызывается функция
add_metadata(), которая и выполняет основное действие.
Что ещё нужно знать
Существуют и другие функции, связанные с метаданными, например:
add_comment_meta()— добавление метаданных к комментариям.add_post_meta()— добавление метаданных к записям.add_user_meta()— добавление метаданных к пользователям.
Эти функции работают аналогично add_term_meta(), но для разных объектов.
Теперь вы знаете, как добавлять метаданные к терминам в WordPress с помощью функции add_term_meta(). Эта функция полезна для расширения функциональности вашей таксономии и добавления к ней дополнительной информации.