wp_insert_category()

Обновляет существующую категорию или создает новую категорию
Функция WordPress
INT 2.0.0
WordPress Icon

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

Функция wp_insert_category() обновляет существующую категорию или создает новую категорию в WordPress.

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

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

wp_insert_category( array $catarr, bool $wp_error = false ) : int|WP_Error

Функция wp_insert_category() принимает два параметра: массив $catarr и булево значение $wp_error.

$catarr — массив аргументов для создания или обновления категории. Он содержит следующие ключи:

  • cat_ID — ID категории. Если значение не равно нулю, то будет выполнено обновление существующей категории. По умолчанию 0.
  • taxonomy — слаг таксономии. По умолчанию ‘category’.
  • cat_name — название категории. По умолчанию пусто.
  • category_description — описание категории. По умолчанию пусто.
  • category_nicename — отображаемое название категории. По умолчанию пусто.
  • category_parent — ID родительской категории. По умолчанию пусто.

$wp_error — опциональный параметр, указывающий, нужно ли возвращать объект WP_Error при ошибке. По умолчанию false.

Функция возвращает ID новой или обновленной категории в случае успеха. В случае ошибки возвращает 0 или объект WP_Error, в зависимости от значения параметра $wp_error.

<?php
// Создаем новую категорию
$category = wp_insert_category( array(
    'cat_name' => 'Новая категория',
    'category_description' => 'Описание новой категории',
    'category_nicename' => 'new-category',
    'category_parent' => 0
) );
if ( is_wp_error( $category ) ) {
    // Обработка ошибки
} else {
    // Категория успешно создана или обновлена
    echo 'Категория успешно создана или обновлена. ID: ' . $category;
}
?>

В приведенном примере мы создаем новую категорию с названием «Новая категория», описанием «Описание новой категории», отображаемым названием «new-category» и без родительской категории. Если создание категории прошло успешно, мы выводим сообщение об успешном создании и показываем ID новой категории.

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

Создание новой категории


$catarr = array(
    'cat_name' => 'New Category',
    'category_description' => 'This is a new category',
    'category_nicename' => 'new-category'
);
$category_id = wp_insert_category($catarr);
if (!is_wp_error($category_id)) {
    echo 'New category created with ID: ' . $category_id;
} else {
    echo 'Failed to create new category: ' . $category_id->get_error_message();
}

В этом примере мы создаем новую категорию с именем «New Category», описанием «This is a new category» и отображаемым именем «new-category». Функция wp_insert_category() возвращает ID новой категории в случае успеха, иначе возвращает объект WP_Error.

Обновление существующей категории


$catarr = array(
    'cat_ID' => 5,
    'cat_name' => 'Updated Category'
);
$category_id = wp_insert_category($catarr);
if (!is_wp_error($category_id)) {
    echo 'Category updated with ID: ' . $category_id;
} else {
    echo 'Failed to update category: ' . $category_id->get_error_message();
}

В этом примере мы обновляем существующую категорию с ID 5, изменяя ее имя на «Updated Category». Функция wp_insert_category() возвращает ID обновленной категории в случае успеха, иначе возвращает объект WP_Error.

Установка родительской категории


$catarr = array(
    'cat_name' => 'Child Category',
    'category_parent' => 5
);
$category_id = wp_insert_category($catarr);
if (!is_wp_error($category_id)) {
    echo 'Child category created with ID: ' . $category_id;
} else {
    echo 'Failed to create child category: ' . $category_id->get_error_message();
}

В этом примере мы создаем новую дочернюю категорию с именем «Child Category» и родительской категорией с ID 5. Функция wp_insert_category() возвращает ID новой категории в случае успеха, иначе возвращает объект WP_Error.

Установка описания категории


$catarr = array(
    'cat_name' => 'Category with Description',
    'category_description' => 'This category has a description'
);
$category_id = wp_insert_category($catarr);
if (!is_wp_error($category_id)) {
    echo 'Category created with ID: ' . $category_id;
} else {
    echo 'Failed to create category: ' . $category_id->get_error_message();
}

В этом примере мы создаем новую категорию с именем «Category with Description» и описанием «This category has a description». Функция wp_insert_category() возвращает ID новой категории в случае успеха, иначе возвращает объект WP_Error.

Установка отображаемого имени категории


$catarr = array(
    'cat_name' => 'Category with Nicename',
    'category_nicename' => 'category-nicename'
);
$category_id = wp_insert_category($catarr);
if (!is_wp_error($category_id)) {
    echo 'Category created with ID: ' . $category_id;
} else {
    echo 'Failed to create category: ' . $category_id->get_error_message();
}

В этом примере мы создаем новую категорию с именем «Category with Nicename» и отображаемым именем «category-nicename». Функция wp_insert_category() возвращает ID новой категории в случае успеха, иначе возвращает объект WP_Error.

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

Как создать новую категорию?

Для создания новой категории в WordPress используется функция wp_insert_category(). Она принимает массив аргументов $catarr и необязательный параметр $wp_error.

Пример кода:


$catarr = array(
    'cat_name' => 'New Category',
    'category_description' => 'This is a new category',
    'category_nicename' => 'new-category'
);
$category_id = wp_insert_category( $catarr );

Как обновить существующую категорию?

Функция wp_insert_category() также позволяет обновить существующую категорию. Для этого необходимо указать ненулевое значение для аргумента cat_ID в массиве $catarr.

Пример кода:


$catarr = array(
    'cat_ID' => 5,
    'cat_name' => 'Updated Category',
    'category_description' => 'This category has been updated',
    'category_nicename' => 'updated-category'
);
$category_id = wp_insert_category( $catarr );

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

Для указания родительской категории при создании новой категории необходимо задать значение для аргумента category_parent в массиве $catarr.

Пример кода:


$catarr = array(
    'cat_name' => 'Child Category',
    'category_description' => 'This is a child category',
    'category_nicename' => 'child-category',
    'category_parent' => 5
);
$category_id = wp_insert_category( $catarr );

Как изменить название категории?

Для изменения названия категории необходимо обновить существующую категорию с помощью функции wp_insert_category(). Для этого нужно указать ненулевое значение для аргумента cat_ID и новое название категории в аргументе cat_name.

Пример кода:


$catarr = array(
    'cat_ID' => 5,
    'cat_name' => 'New Category Name'
);
$category_id = wp_insert_category( $catarr );

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

Для изменения описания категории при использовании функции wp_insert_category() необходимо передать аргумент category_description в массив $catarr. Значение этого аргумента будет новым описанием категории.


$catarr = array(
    'cat_ID' => 1,
    'category_description' => 'Новое описание категории'
);
wp_insert_category($catarr);

Как изменить отображаемое имя категории?

Для изменения отображаемого имени категории при использовании функции wp_insert_category() необходимо передать аргумент category_nicename в массив $catarr. Значение этого аргумента будет новым отображаемым именем категории.


$catarr = array(
    'cat_ID' => 1,
    'category_nicename' => 'новое-имя-категории'
);
wp_insert_category($catarr);

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

Функция wp_insert_category() возвращает ID новой или обновленной категории в случае успешного выполнения. Для получения этого ID необходимо сохранить результат вызова функции в переменную.


$new_category_id = wp_insert_category($catarr);

Что делать, если функция wp_insert_category() возвращает WP_Error?

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


$result = wp_insert_category($catarr);
if (is_wp_error($result)) {
    $error_message = $result->get_error_message();
    echo 'Ошибка: ' . $error_message;
}

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

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

  • Функция wp_create_category(): создает новую категорию.
  • Функция wp_update_category(): обновляет существующую категорию.
  • Класс WP_Taxonomy: представляет таксономию (категорию).
  • Класс WP_Error: представляет ошибку, которая может возникнуть при выполнении операции.
Обсуждение