Функция 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. Она позволяет добавлять и обновлять категории с помощью простого массива параметров, что делает управление категориями легким и удобным.