wp_update_term()

Обновляет термин на основе предоставленных аргументов
Функция WordPress
INT 2.3.0
WordPress Icon

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

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

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

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

wp_update_term( int $term_id, string $taxonomy, array $args = array() ): array|WP_Error

Эта функция принимает три параметра: $term_id (обязательный), $taxonomy (обязательный) и $args (необязательный).

$term_id — идентификатор термина, который нужно обновить.

$taxonomy — таксономия, к которой относится термин.

$args — массив аргументов для обновления термина. Возможные аргументы:

  • alias_of — слаг термина, который нужно сделать псевдонимом данного термина. По умолчанию пустая строка.
  • description — описание термина. По умолчанию пустая строка.
  • parent — идентификатор родительского термина. По умолчанию 0.
  • slug — слаг термина. По умолчанию пустая строка.

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

<?php
// Обновление термина с ID 42 в таксономии 'category'
$term_id = 42;
$taxonomy = 'category';
$args = array(
    'alias_of' => 'term-slug',
    'description' => 'Новое описание',
    'parent' => 5,
    'slug' => 'новый-слаг'
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    $term_id = $result['term_id'];
    $taxonomy_id = $result['term_taxonomy_id'];
    echo 'Термин успешно обновлен!';
} else {
    echo 'Ошибка при обновлении термина: ' . $result->get_error_message();
}
?>

В этом примере мы обновляем термин с ID 42 в таксономии ‘category’. Мы указываем новый слаг, описание, родительский термин и делаем его псевдонимом другого термина с указанным слагом. Если обновление прошло успешно, выводится сообщение об успешном обновлении. В противном случае, выводится сообщение об ошибке.

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

Обновление описания термина в таксономии


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'description' => 'New description for the term'
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    // Описание термина успешно обновлено
} else {
    // Возникла ошибка при обновлении описания термина
}

Изменение родительского термина


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'parent' => 10 // ID нового родительского термина
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    // Родительский термин успешно изменен
} else {
    // Возникла ошибка при изменении родительского термина
}

Создание алиаса для термина


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'alias_of' => 'parent-term' // Слаг термина, который будет являться алиасом
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    // Алиас успешно создан для термина
} else {
    // Возникла ошибка при создании алиаса для термина
}

Изменение слага термина


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'slug' => 'new-slug' // Новый слаг для термина
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    // Слаг термина успешно изменен
} else {
    // Возникла ошибка при изменении слага термина
}

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

Как обновить описание термина?

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

  • $term_id — обязательный параметр, содержащий ID термина;
  • $taxonomy — обязательный параметр, указывающий на таксономию термина;
  • $args — необязательный параметр, представляющий собой массив аргументов для обновления термина.

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

Для обновления описания термина, необходимо передать новое значение описания в параметр description массива $args. Например:


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'description' => 'Новое описание термина'
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    echo 'Описание термина успешно обновлено!';
} else {
    echo 'Произошла ошибка при обновлении описания термина: ' . $result->get_error_message();
}

Как изменить родительский термин?

Для изменения родительского термина в WordPress также используется функция wp_update_term(). В параметре parent массива $args необходимо указать ID нового родительского термина. Например:


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'parent' => 10
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    echo 'Родительский термин успешно изменен!';
} else {
    echo 'Произошла ошибка при изменении родительского термина: ' . $result->get_error_message();
}

Как изменить слаг термина?

Для изменения слага термина в WordPress также используется функция wp_update_term(). Новый слаг необходимо передать в параметр slug массива $args. Например:


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'slug' => 'новый-слаг'
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    echo 'Слаг термина успешно изменен!';
} else {
    echo 'Произошла ошибка при изменении слага термина: ' . $result->get_error_message();
}

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

Для того чтобы сделать термин псевдонимом другого термина, необходимо использовать аргумент alias_of при вызове функции wp_update_term(). В этот аргумент нужно передать слаг (slug) термина, который должен стать псевдонимом. По умолчанию, значение этого аргумента равно пустой строке.


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'alias_of' => 'news'
);
$result = wp_update_term( $term_id, $taxonomy, $args );

Как получить ID и tax ID обновленного термина?

После успешного обновления термина, функция wp_update_term() возвращает массив, содержащий ID термина (term_id) и ID таксономии термина (term_taxonomy_id). Если при обновлении возникла ошибка, функция вернет объект класса WP_Error.


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'description' => 'Updated term description'
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( ! is_wp_error( $result ) ) {
    $term_id = $result['term_id'];
    $term_taxonomy_id = $result['term_taxonomy_id'];
}

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

Для обработки ошибки при обновлении термина, необходимо проверить возвращаемое значение функции wp_update_term() на наличие объекта класса WP_Error. Если функция вернула объект WP_Error, значит произошла ошибка, и можно получить текст ошибки с помощью метода get_error_message().


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'description' => 'Updated term description'
);
$result = wp_update_term( $term_id, $taxonomy, $args );
if ( is_wp_error( $result ) ) {
    $error_message = $result->get_error_message();
    echo 'Error: ' . $error_message;
}

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

Для удаления описания термина при использовании функции wp_update_term() необходимо передать пустую строку в параметр description.


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'description' => '',
);
$result = wp_update_term( $term_id, $taxonomy, $args );

Как удалить родительский термин?

Для удаления родительского термина при использовании функции wp_update_term() необходимо передать значение 0 в параметр parent.


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'parent' => 0,
);
$result = wp_update_term( $term_id, $taxonomy, $args );

Как удалить слаг термина?

Для удаления слага термина при использовании функции wp_update_term() необходимо передать пустую строку в параметр slug.


$term_id = 42;
$taxonomy = 'category';
$args = array(
    'slug' => '',
);
$result = wp_update_term( $term_id, $taxonomy, $args );

Функция wp_update_term() позволяет обновлять термин на основе предоставленных аргументов. Она возвращает массив с идентификаторами термина и таксономии в случае успешного обновления, либо объект WP_Error в случае ошибки. С помощью функции можно удалить описание термина, родительский термин или слаг термина, передав соответствующие значения в аргументы функции.

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

  • Функция get_term(): Возвращает объект термина по его ID.
  • Функция get_terms(): Возвращает массив терминов, удовлетворяющих заданным параметрам.
  • Функция term_exists(): Проверяет, существует ли термин с указанным именем и таксономией.
  • Функция wp_insert_term(): Создает новый термин.
  • Функция wp_delete_term(): Удаляет термин и все его связи.
  • Хук created_term: Вызывается после создания нового термина.
  • Хук edited_term: Вызывается после редактирования существующего термина.
  • Хук delete_term: Вызывается перед удалением термина.
  • Класс WP_Term: Представляет термин и его свойства.
  • Класс WP_Term_Query: Запрашивает термины с использованием различных параметров.
Обсуждение