Создание рубрики "wp_create_category"
Функция "wp_create_category" имеет всего два аргумента:$id = wp_create_category( $name, $parent_id );
Первый аргумент "$name" является строкой. И обозначает название новой создаваемой категории. Второй параметр "$parent_id" является необязательным и содержит число родительской рубрики, куда добавляется новая рубрика. Если "$parent_id" не указан, то добавление произойдёт на верхний уровень.Функция возвращает ID добавленной рубрики, либо "0" (ноль) в случае неудачи. Рассмотрим несколько примеров использования:
$food_id = wp_create_category( 'Еда' ); // добавление категории "Еда"
wp_create_category( 'Сыр', $food_id ); // добавление подкатегории "Сыр" в категорию "Еда"
Функция "wp_create_category" является обёрткой для функции "wp_insert_category". В ней сначала проверяется существование родительской категории с помощью функции "category_exists", а потом происходит добавление новой с помощью "wp_insert_category".
Создание рубрики "wp_insert_category"
Функция "wp_insert_category" умеет добавлять новые рубрики и обновлять свойства уже существующих. Она имеет два аргумента. Первый - это массив свойств, которыми будет обладать новая рубрика. Второй аргумент - это флаг вывода ошибок:wp_insert_category( $data, $wp_error );
В случае успешного добавления новой категории функция возвращает её ID. Если была обновлена существующая категория, то вернётся логическое "ture". Если второй аргумент "$wp_error" установлен в значение "ture", то при неудачном добавлении/обновлении будет возвращён объект "WP_Error".
Работа функции "wp_insert_category" требует задания основных свойств (первый аргумент "$data"). Приведём пример её использования:
$data = array(
'cat_ID' => 0, // ID рубрики для обновления или "0" (ноль) при добавлении.
'cat_name' => 'Название новой рубрики',
'category_description' => 'Описание рубрики',
'category_nicename' => false, // ярлык
'category_parent' => false, // ID родительской рубрики
'taxonomy' => 'category' // таксономия, к которой относится категория: category/post_tag
);
$wp_error = true;
wp_insert_category( $data, $wp_error );
Если во время вызова функции появляется ошибка "Call to undefined function wp_insert_category()", то необходимо подключить файл с функцией:
require_once ABSPATH . '/wp-admin/includes/taxonomy.php';
require_once ABSPATH . '/wp-admin/includes/taxonomy.php';