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);

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: