Работа с категориями в 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мотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб

⇡ наверх