add_term_meta() WP 4.4.0

Додає мета поле (додаткове поле) для елемента вказаної таксономії (рубрики, мітки…).

Працює на основі:
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

Приклади

0

#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)
0

#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() WP 6.0.2

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);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *