wp_insert_category()
Вставляет новую категорию в базу данных. Или обновляет существующую, для этого нужно указать ID категории.
Для добавления категории можно использовать более простую функцию wp_create_category(). В нее нужно передавать только название категории и ID родительской категории.
Если появится ошибка Fatal error: Call to undefined function wp_insert_category(), то нужно подключить файл /wp-admin/includes/taxonomy.php:
require_once ABSPATH . '/wp-admin/includes/taxonomy.php'; wp_insert_category( $catarr, $wp_error );
Хуков нет.
Возвращает
int|WP_Error
.
- При
$wp_error = false
(по умолчанию) - ID добавленной категории или 0 при ошибке. - При
$wp_error = true
- ID добавленной категории или объект WP_Error.
Использование
wp_insert_category( $catarr, $wp_error );
- $catarr(массив) (обязательный)
Параметры новой категории. Допустимые параметры:
$cat_defaults = [ 'cat_ID' => 0, // ID категории, которую нужно обновить. 0 - добавит новую категорию. 'cat_name' => '', // название категории. Обязательный. 'category_description' => '', // описание категории 'category_nicename' => '', // слаг категории 'category_parent' => 0, // ID родительской категории 'taxonomy' => 'category' // таксономия. Измените, чтобы добавить элемент // другой таксономии. Например для меток будет post_tag ];
Рекомендуется указывать только необходимые параметры.
- $wp_error(логический)
- true - вернет объект WP_Error в случает неудачи.
По умолчанию: false
Примеры
#1 Обновление существующей категории
Обновим имеющуюся категорию с ID=7. Установим ей новое название:
$updated = wp_insert_category( [ 'cat_ID' => 5, 'cat_name' => 'Новое название' ] ); if( $updated ){ echo "категория с $updated обновлена"; }
#2 Добавление новой категории
Чтобы вставить новую рубрику на сайт, используйте такой код:
$my_cat = [ 'cat_name' => 'Новая категория', 'category_description' => 'Описание новой категории', 'category_nicename' => 'new-cat' ]; // вставляем $cat_id = wp_insert_category( $my_cat ); if( $cat_id ) echo 'Категория добавлена'; else echo 'Не удалось добавить категорию';
#3 Добавление элемента таксономии
Функция позволяет добавлять и другие элементы таксономии, не только категории. Давайте добавим метку:
wp_insert_category( [ 'cat_name' => 'Метка', 'taxonomy' => 'post_tag' ] );
Список изменений
С версии 2.0.0 | Введена. |
С версии 2.5.0 | $wp_error parameter was added. |
С версии 3.0.0 | The 'taxonomy' argument was added. |