В случае успеха функция возвращает ID созданной/обновленной рубрики, в случае неудачи — false или WP_Error.
/* * Внимание: * Функция работает только при подключенном файле /wp-admin/includes/taxonomy.php * Если появится ошибка Fatal error: Call to undefined function wp_insert_category() * тогда просто подключите файл перед самой функцией */ require_once( ABSPATH . '/wp-admin/includes/taxonomy.php'); wp_insert_category( $catarr, $wp_error );
$catarr
(массив) (обязательное) информация о категории,
$wp_error
(логическое) (необязательное) что должна возвращать функция в случае ошибки — логическое false или WP_Error, по умолчанию false;
Параметры массива $catarr
cat_ID
(целое число) ID рубрики, которую нужно обновить, если не указан или равен 0 — создается новая рубрика (по умолчанию 0),
cat_name
(строка) (обязательное) название рубрики,
category_description
(строка) описание рубрики,
category_nicename
(строка) ярлык рубрики,
category_parent
(целое число) ID родительской рубрики,
taxonomy
(строка) по умолчанию category, однако изменение этого параметра позволит добавлять/редактировать элементы и других таксономий, например меток (post_tag)
Примеры использования функции
Создадим новую рубрику «WordPress»:
require_once( ABSPATH . '/wp-admin/includes/taxonomy.php'); $catarr = array( 'cat_name' => 'WordPress', 'category_description' => 'Уроки WordPress на русском, описание функций с примерами.', 'category_nicename' => 'wp' ); $cat_id = wp_insert_category($catarr);
Предположим функция вернула $cat_id = 5
, теперь попробуем обновить только что созданную рубрику:
require_once( ABSPATH . '/wp-admin/includes/taxonomy.php'); $catarr = array( 'cat_ID' => 5, 'cat_name' => 'Уроки WordPress' ); if($cat_id = wp_insert_category($catarr)){ echo "категория с ID=$cat_id обновлена"; }
Как я уже говорил, функция позволяет ещё создавать/редактировать и элементы других таксономий, убедимся в этом на примере, создадим какую-нибудь метку:
require_once( ABSPATH . '/wp-admin/includes/taxonomy.php'); $catarr = array( 'cat_name' => 'PHP', 'taxonomy' => 'post_tag' ); $tag_id = wp_insert_category($catarr);