add_term_meta()

Добавляет метаданные к термину
Функция WordPress
INT 4.4.0
WordPress Icon

Описание функции

Функция add_term_meta() используется для добавления метаданных к термину в WordPress. Метаданные представляют собой дополнительную информацию, которую можно привязать к термину. Эта функция позволяет сохранять пользовательские данные, связанные с термином, и облегчает их доступ и управление.

Использование

add_term_meta( int $term_id, string $meta_key, mixed $meta_value, bool $unique = false ): int|false|WP_Error

Функция add_term_meta() принимает четыре параметра:

  • $term_id (обязательный): ID термина, к которому добавляется метаданные.
  • $meta_key (обязательный): Название метаданных.
  • $meta_value (обязательный): Значение метаданных. Должно быть сериализуемым, если не является скалярным.
  • $unique (необязательный): Определяет, должен ли быть уникальный ключ. По умолчанию: false.

Функция add_term_meta() возвращает идентификатор метаданных при успешном добавлении, false в случае ошибки и WP_Error, если $term_id неоднозначен между таксономиями.

<?php
$term_id = 42;
$meta_key = 'color';
$meta_value = 'blue';
// Добавление метаданных к термину
$result = add_term_meta( $term_id, $meta_key, $meta_value );
if ( ! is_wp_error( $result ) ) {
    echo 'Метаданные успешно добавлены.';
} else {
    echo 'Ошибка при добавлении метаданных: ' . $result->get_error_message();
}
?>

В этом примере мы добавляем метаданные с ключом «color» и значением «blue» к термину с ID 42. Если добавление прошло успешно, выводится сообщение «Метаданные успешно добавлены». В противном случае выводится сообщение об ошибке.

Примеры использования

Добавление метаданных к термину


$term_id = 42;
$meta_key = 'color';
$meta_value = 'red';
$result = add_term_meta( $term_id, $meta_key, $meta_value );
if ( is_int( $result ) ) {
    echo 'Метаданные успешно добавлены. ID метаданных: ' . $result;
} elseif ( false === $result ) {
    echo 'Не удалось добавить метаданные.';
} else {
    echo 'Произошла ошибка: ' . $result->get_error_message();
}

В данном примере мы добавляем метаданные с ключом ‘color’ и значением ‘red’ к термину с ID 42. Функция add_term_meta() возвращает ID метаданных при успешном добавлении, false в случае неудачи и объект WP_Error в случае возникновения ошибки.

Изменение метаданных термина


$term_id = 42;
$meta_key = 'color';
$new_meta_value = 'blue';
$result = update_term_meta( $term_id, $meta_key, $new_meta_value );
if ( true === $result ) {
    echo 'Метаданные успешно изменены.';
} elseif ( false === $result ) {
    echo 'Не удалось изменить метаданные.';
} else {
    echo 'Произошла ошибка: ' . $result->get_error_message();
}

В данном примере мы изменяем значение метаданных с ключом ‘color’ у термина с ID 42 на ‘blue’. Функция update_term_meta() возвращает true при успешном изменении, false в случае неудачи и объект WP_Error в случае возникновения ошибки.

Удаление метаданных термина


$term_id = 42;
$meta_key = 'color';
$result = delete_term_meta( $term_id, $meta_key );
if ( true === $result ) {
    echo 'Метаданные успешно удалены.';
} elseif ( false === $result ) {
    echo 'Не удалось удалить метаданные.';
} else {
    echo 'Произошла ошибка: ' . $result->get_error_message();
}

В данном примере мы удаляем метаданные с ключом ‘color’ у термина с ID 42. Функция delete_term_meta() возвращает true при успешном удалении, false в случае неудачи и объект WP_Error в случае возникновения ошибки.

Получение метаданных термина


$term_id = 42;
$meta_key = 'color';
$meta_value = get_term_meta( $term_id, $meta_key, true );
if ( $meta_value ) {
    echo 'Значение метаданных: ' . $meta_value;
} else {
    echo 'Метаданные не найдены.';
}

В данном примере мы получаем значение метаданных с ключом ‘color’ у термина с ID 42. Функция get_term_meta() возвращает значение метаданных или пустую строку, если метаданные не найдены.

Проверка наличия метаданных термина


$term_id = 42;
$meta_key = 'color';
$has_meta = metadata_exists( 'term', $term_id, $meta_key );
if ( $has_meta ) {
    echo 'Метаданные с ключом ' . $meta_key . ' существуют.';
} else {
    echo 'Метаданные с ключом ' . $meta_key . ' не существуют.';
}

В данном примере мы проверяем наличие метаданных с ключом ‘color’ у термина с ID 42. Функция metadata_exists() возвращает true, если метаданные существуют, и false в противном случае.

Вопросы и ответы

Как добавить метаданные к термину?

Функция add_term_meta() используется для добавления метаданных к термину в WordPress. Она принимает несколько параметров: $term_id (ID термина), $meta_key (имя метаданных), $meta_value (значение метаданных) и необязательный параметр $unique (определяет, должен ли быть уникальный ключ).

Например, чтобы добавить метаданные к термину с ID 42, можно использовать следующий код:


$term_id = 42;
$meta_key = 'color';
$meta_value = 'blue';
add_term_meta( $term_id, $meta_key, $meta_value );

Как получить ID метаданных, добавленных к термину?

Чтобы получить ID метаданных, добавленных к термину, можно использовать функцию get_term_meta(). Она принимает параметры $term_id (ID термина) и $meta_key (имя метаданных).

Например, чтобы получить ID метаданных с ключом «color» для термина с ID 42, можно использовать следующий код:


$term_id = 42;
$meta_key = 'color';
$meta_id = get_term_meta( $term_id, $meta_key, true );

Как проверить, существует ли метаданные для термина?

Для проверки существования метаданных для термина можно использовать функцию metadata_exists(). Она принимает параметры $term_id (ID термина) и $meta_key (имя метаданных).

Например, чтобы проверить, существуют ли метаданные с ключом «color» для термина с ID 42, можно использовать следующий код:


$term_id = 42;
$meta_key = 'color';
if ( metadata_exists( 'term', $term_id, $meta_key ) ) {
    echo 'Метаданные существуют!';
} else {
    echo 'Метаданные не существуют.';
}

Как обновить значение метаданных для термина?

Для обновления значения метаданных для термина в WordPress используется функция update_term_meta(). Она принимает следующие параметры:

  • $term_id — идентификатор термина, для которого нужно обновить метаданные.
  • $meta_key — имя метаданных, которые нужно обновить.
  • $meta_value — новое значение метаданных.

Пример использования:


$term_id = 42;
$meta_key = 'my_meta_key';
$meta_value = 'New meta value';
update_term_meta( $term_id, $meta_key, $meta_value );

Как удалить метаданные для термина?

Для удаления метаданных для термина в WordPress используется функция delete_term_meta(). Она принимает следующие параметры:

  • $term_id — идентификатор термина, для которого нужно удалить метаданные.
  • $meta_key — имя метаданных, которые нужно удалить.

Пример использования:


$term_id = 42;
$meta_key = 'my_meta_key';
delete_term_meta( $term_id, $meta_key );

Как получить все метаданные для термина?

Для получения всех метаданных для термина в WordPress используется функция get_term_meta(). Она принимает следующие параметры:

  • $term_id — идентификатор термина, для которого нужно получить метаданные.

Пример использования:


$term_id = 42;
$meta_data = get_term_meta( $term_id );

Функция add_term_meta() предназначена для добавления метаданных к термину в WordPress. Она принимает четыре параметра: $term_id (идентификатор термина), $meta_key (имя метаданных), $meta_value (значение метаданных) и $unique (опциональный параметр, указывающий, должен ли быть уникальный ключ).

Функция возвращает идентификатор метаданных при успешном добавлении, false в случае ошибки и WP_Error, если term_id неоднозначен между таксономиями.

Использование функции add_term_meta() позволяет легко добавлять дополнительные данные к терминам в WordPress, что может быть полезно при разработке тем и плагинов.

Как добавить уникальные метаданные для термина?

Функция add_term_meta() в WordPress позволяет добавить метаданные к термину. Если вы хотите добавить уникальные метаданные, то вам необходимо использовать параметр $unique и установить его значение в true.


$term_id = 42;
$meta_key = 'color';
$meta_value = 'red';
$result = add_term_meta( $term_id, $meta_key, $meta_value, true );
if ( is_int( $result ) ) {
    echo 'Метаданные успешно добавлены.';
} elseif ( is_wp_error( $result ) ) {
    echo 'Произошла ошибка при добавлении метаданных.';
} else {
    echo 'Метаданные с таким ключом уже существуют.';
}

Как обработать ошибку при добавлении метаданных для термина?

Если при добавлении метаданных для термина произошла ошибка, функция add_term_meta() вернет объект класса WP_Error. Чтобы обработать эту ошибку, вы можете использовать условную конструкцию is_wp_error().


$term_id = 42;
$meta_key = 'color';
$meta_value = 'red';
$result = add_term_meta( $term_id, $meta_key, $meta_value );
if ( is_wp_error( $result ) ) {
    echo 'Произошла ошибка при добавлении метаданных: ' . $result->get_error_message();
} else {
    echo 'Метаданные успешно добавлены.';
}

Как использовать сериализованные значения в метаданных для термина?

Если вы хотите использовать сериализованные значения в метаданных для термина, то убедитесь, что ваше значение может быть сериализовано. Нескалярные значения должны быть сериализованы перед сохранением.


$term_id = 42;
$meta_key = 'data';
$meta_value = array( 'name' => 'John', 'age' => 30 );
$result = add_term_meta( $term_id, $meta_key, maybe_serialize( $meta_value ) );
if ( is_int( $result ) ) {
    echo 'Метаданные успешно добавлены.';
} elseif ( is_wp_error( $result ) ) {
    echo 'Произошла ошибка при добавлении метаданных.';
}

Функция add_term_meta() в WordPress позволяет добавить метаданные к термину. Вы можете использовать эту функцию для добавления уникальных метаданных, обработки ошибок и работы с сериализованными значениями. Будьте внимательны при использовании этой функции и следуйте документации, чтобы избежать возможных проблем.

Связанные элементы

  • Функция get_term_meta(): возвращает значение метаданных для указанного термина.
  • Функция update_term_meta(): обновляет значение метаданных для указанного термина.
  • Функция delete_term_meta(): удаляет метаданные для указанного термина.
  • Класс WP_Term_Query: используется для выполнения запросов к терминам.
  • Класс WP_Term: представляет отдельный термин и содержит методы для работы с ним.
Обсуждение