Работа с категориями в WordPress

В WordPress есть функции для создания и изменения категорий (рубрик): "wp_create_category" и "wp_insert_category". Первая "wp_create_category" является упрощённой версией второй и умеет только создавать новые рубрики. Вторая функция "wp_insert_category" позволяет не только создавать новые категории, но и изменять существующие. Разберём из подробнее.

Создание рубрики "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';
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: