Функция wp_insert_category()
в WordPress используется для добавления новой категории или обновления существующей. Она принимает массив параметров и возвращает ID новой или обновленной категории, или объект WP_Error
в случае неудачи.
wp_insert_category( array $catarr, bool $wp_error = false ): int|WP_Error
Параметры
- $catarr (array) (обязательный)
Массив аргументов для вставки новой категории. Допустимые параметры:cat_ID
(int) — ID категории. Значение, отличное от нуля, обновляет существующую категорию. По умолчанию:0
.taxonomy
(string) — Слаг таксономии. По умолчанию:'category'
.cat_name
(string) — Название категории. По умолчанию: пусто.category_description
(string) — Описание категории. По умолчанию: пусто.category_nicename
(string) — Чистое (nice) имя категории (slug). По умолчанию: пусто.category_parent
(int|string) — ID родительской категории. По умолчанию: пусто.
- $wp_error (bool) (необязательный)
Если установлено вtrue
, функция вернет объектWP_Error
в случае неудачи. По умолчанию:false
.
Возврат
Функция возвращает:
int
— ID новой или обновленной категории при успешном выполнении.0
или объектWP_Error
при ошибке, в зависимости от параметра$wp_error
.
Подключение необходимых файлов
Если вы получаете ошибку Fatal error: Call to undefined function wp_insert_category()
, необходимо подключить файл /wp-admin/includes/taxonomy.php
:
require_once ABSPATH . '/wp-admin/includes/taxonomy.php';
Пример 1: Обновление существующей категории
Обновим категорию с ID=123 и установим ей новое название:
$updated = wp_insert_category([
'cat_ID' => 123,
'cat_name' => 'Новое название'
]);
if ($updated) {
echo "Категория с ID $updated обновлена";
} else {
echo "Не удалось обновить категорию";
}
Пример 2: Добавление новой категории
Чтобы вставить новую категорию на сайт, используйте следующий код:
$my_cat = [
'cat_name' => 'Новая категория',
'category_description' => 'Описание новой категории',
'category_nicename' => 'new-cat'
];
// Вставляем категорию
$cat_id = wp_insert_category($my_cat);
if ($cat_id) {
echo 'Категория добавлена с ID: ' . $cat_id;
} else {
echo 'Не удалось добавить категорию';
}
Пример 3: Добавление элемента таксономии
Функция wp_insert_category()
также может использоваться для добавления других элементов таксономии, таких как метки. Например, давайте добавим метку:
$result = wp_insert_category([
'cat_name' => 'Метка',
'taxonomy' => 'post_tag'
]);
if (is_wp_error($result)) {
echo 'Ошибка: ' . $result->get_error_message();
} else {
echo 'Метка добавлена с ID: ' . $result;
}
Заключение
Функция wp_insert_category()
является мощным инструментом для работы с категориями и другими элементами таксономии в WordPress. Она позволяет добавлять и обновлять категории с помощью простого массива параметров, что делает управление категориями легким и удобным.