wp_insert_category — функция для создания и редактирования категорий на блоге

В случае успеха функция возвращает 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);

Комментарии 1

  • Александр28 апреля 2013 в 23:04 #

    Спасибо, честно, при создании на заказ тем иногда нужно сразу вогнать в меню несколько рубрик. Темы без контента сами по себе ничего особого не представляют

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.