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Просто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Метод тыка хорош, но оснвоы нужно знать в любом случае. Рекомендую почитать это.

  • Миша: Добрый вечер! Если я правильно понял, то: if( $opisanie ) echo '' . $opisanie . '' ;

  • alex morozov: Добрый вечер! у меня возникла следующая проблема. Я делаю фотоальбомы, чтобы они выглядели "как в контакте". Так вот, та...

  • Vladislav: Если эту муть убрать, то исчезает меню, и появляется описание под миниатюрами, которого не должно быть, как вы видите, я...

  • Миша: Либо размеры изображений вам помогут, либо CSS. И строку 14 гляньте, там муть какая-то.