eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

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.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 );
}
petrozavodsky 840alkoweb.ru
Делаю веб руками.
Редакторы: campusboy 4959
2 комментария
    Войти