add_term_meta()
Добавляет мета поле (дополнительное поле) для элемента указанной таксономии (рубрики, метки ...).
Работает на основе: add_metadata(), wp_term_is_shared()
Хуков нет.
Возвращает
int|false|WP_Error
.
ID
- в случае успешного добавления.WP_Error
- в случае неверно заданного term_id таксономии.False
- в случае ошибки в процессе добавления.
Использование
add_term_meta( $term_id, $meta_key, $meta_value, $unique );
- $term_id(число) (обязательный)
- ID термина таксономии.
- $meta_key(строка) (обязательный)
- Ключ мета поля.
- $meta_value(смешанный) (обязательный)
- Значение мета поля.
- $unique(логический)
Уникальное это значение или нет.
false
- означает, что для этого элемента таксономии может быть определено несколько одинаковых ключей.true
- значит, что ключ для этого элемента может быть только один, т.е. если такой ключ уже существует, то функция ничего не добавит.
По умолчанию: false
Примеры
#1 Добавим мета поле с единственным значением
$term_id = 62; $meta_key = 'test_meta_field'; add_term_meta( $term_id, $meta_key, 'Привет мир', true ); // Выводим echo get_term_meta( $term_id, $meta_key, true ); // выведет 'Привет мир' // пробуем добавить еще одно поле с тем же ключом $done = add_term_meta( $term_id, $meta_key, 'Привет мир 2', true ); var_dump( $done ); // bool(false)
#2 Добавляем несколько значений для одного мета поля
$term_id = 62; $meta_key = 'test_meta_field'; // Добавляем add_term_meta( $term_id, $meta_key, 'Привет мир', false ); add_term_meta( $term_id, $meta_key, 'Hello world', false ); // смотрим что получилось $fields = get_term_meta( $term_id, $meta_key ); print_r( $fields ); /* выведет Array ( [0] => Привет мир [1] => Hello world ) */
Список изменений
С версии 4.4.0 | Введена. |
Код add_term_meta() add term meta WP 6.8.1
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 meta cannot be added to terms that are shared between taxonomies.' ), $term_id ); } return add_metadata( 'term', $term_id, $meta_key, $meta_value, $unique ); }