update_term_meta()
Оновлює метадані елемента таксономії (категорії, мітки…).
Використовуйте параметр $prev_value, щоб оновити вже існуючі значення, коли є кілька полів з однаковим ключем.
Якщо до моменту виклику функції поле ще не існує, воно буде додано.
Назва таксономії не передається функції, тому кожен термін має унікальний ID ($term_id) і прив’язаний до конкретної таксономії.
Хуків немає.
Повертає
int|true|false|WP_Error. Поверне:
IDякщо ключ не існував раніше, і поле було додано.trueпри успішному оновленні існуючого поля.WP_Errorу разі неправильно заданого term_id таксономії.Falseу разі помилки у процесі оновлення.
Використання
update_term_meta($term_id, $meta_key, $meta_value, $prev_value);
- $term_id
(число) (обов’язковий) - ID елемент таксономії.
- $meta_key
(рядок) (обов’язковий) - Ключ поля.
- $meta_value
(змішаний) (обов’язковий) - Значення поля, яке потрібно записати.
- $prev_value
(змішаний) - Попереднє значення. Потрібне оновлення конкретного поля, коли існує кілька полів з однаковим ключем.
За замовчуванням: ”
Приклади
#1 Задаємо невеликий текст для мітки посту та виводимо на сторінці міток
Задаємо текст ‘Привіт світ’ для мітки з ID 702 і зберігаємо в полі з ключем test_meta_field.
update_term_meta(702, 'test_meta_field', 'Привіт світ');
І виводимо на сторінці тегів
$fields = get_term_meta(get_query_var('tag_id'), 'test_meta_field');
if( $fields && is_array( $fields ) ){
echo $fields[0];
}#2 Декілька метаполів з однаковим ключем
Додаємо кілька полів з однаковим ключем:
// додаємо дані $ term_id = 702; $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 ) */
#3 Оновлюємо поле із зазначеним значенням
У нас є 2 поля з однаковими ключами test_meta_field, але різними значеннями, нам потрібно оновити тільки поле зі значенням Hello world:
update_term_meta(702, 'test_meta_field', 'Hello NEW world', 'Hello world');
список змін
| З версії 4.4.0 | Введено. |
Код update_term_meta() update term meta WP 6.0.2
function update_term_meta( $term_id, $meta_key, $meta_value, $prev_value = '' ) {
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 update_metadata( 'term', $term_id, $meta_key, $meta_value, $prev_value );
}