Функция wp_update_term()
позволяет обновить данные конкретного термина (элемента таксономии) в WordPress. Это удобно, когда вам нужно изменить такие параметры, как имя термина, ярлык (slug), описание, родительский термин и другие метаданные, связанные с таксономией.
wp_update_term( int $term_id, string $taxonomy, array $args = array() ): array|WP_Error
Описание
Функция обновляет данные термина на основе переданных аргументов. Поля, указанные в массиве $args
, будут перезаписывать существующие значения в базе данных. Важно корректно указать все необходимые поля, чтобы избежать случайного удаления или изменения важной информации.
Параметры
- $term_id (int) — ID термина, который необходимо обновить (обязательный параметр).
- $taxonomy (string) — Название таксономии, к которой принадлежит термин (обязательный параметр).
- $args (array) — Ассоциативный массив с новыми данными для обновления (опциональный параметр).
Поддерживаемые поля в $args
:
- name (string) — Новое имя термина.
- slug (string) — Новый уникальный ярлык термина. Если не указан, будет сгенерирован автоматически на основе имени.
- description (string) — Описание термина.
- parent (int) — ID родительского термина (если применимо).
- alias_of (string) — Ярлык термина для объединения в одну группу.
Возвращаемое значение
- array — Массив с
term_id
иterm_taxonomy_id
, если обновление прошло успешно. - WP_Error — Объект с сообщением об ошибке, если обновление не удалось (например, при попытке использовать неуникальный
slug
).
Пример 1: Обновление термина в таксономии
В этом примере обновим термин с ID 1
в таксономии category
, задав новое имя термина и оставив автоматически сгенерированный slug.
$result = wp_update_term( 1, 'category', array(
'name' => 'Не категоризовано',
// 'slug' => 'ne-kategorizovano' // Уникальный slug будет создан автоматически, если не указан
));
// Проверка результата
if ( is_wp_error( $result ) ) {
echo 'Ошибка: ' . $result->get_error_message();
} else {
echo 'Термин успешно обновлен.';
}
Пример 2: Обновление описания термина
Этот пример демонстрирует обновление только описания существующего термина.
$result = wp_update_term( 15, 'post_tag', array(
'description' => 'Описание этого термина обновлено.'
));
// Проверка результата
if ( is_wp_error( $result ) ) {
echo 'Ошибка: ' . $result->get_error_message();
} else {
echo 'Описание успешно обновлено.';
}
Пример 3: Объединение термина с другим через alias_of
В этом примере объединяем два термина в одну группу с помощью параметра alias_of
.
$result = wp_update_term( 22, 'genre', array(
'alias_of' => 'fiction'
));
// Проверка результата
if ( is_wp_error( $result ) ) {
echo 'Ошибка: ' . $result->get_error_message();
} else {
echo 'Термин успешно объединен с "fiction".';
}
Заключение
Функция wp_update_term()
— это гибкий инструмент для обновления данных элементов таксономии в WordPress. С её помощью можно быстро обновлять имя, описание, родительские связи и другие параметры термина, а также объединять термины в группы. Важно внимательно работать с массивом аргументов $args
, чтобы избежать случайного изменения данных.